Ваш вопрос показывает некоторое недопонимание того, как веб-приложения работают.
Пользователь должен ввести адрес в браузере, чтобы получить доступ к приложению. Это отправляет запрос на сервер. Код сервера (написанный на python) получает этот запрос и имеет возможность отправить ответ. Ответом является документ, обычно написанный на HTML . Некоторые части этого документа могут быть динамическими, то есть генерироваться кодом Python. Другие части документа могут быть статичными. Затем браузер отображает документ в окне пользователя.
После этого единственный единственный способ, которым ваш код Python может узнать о том, что происходит в окне браузера, или выполнить какую-либо часть кода Python, - это заставить браузер отправить еще один запрос.
Это может случиться во многих ситуациях, наиболее распространенными из которых являются:
- Пользователь нажимает на ссылку на другую
URL, делая браузер отправлять другой
запрос на этот новый URL.
- Пользователь нажимает на кнопку
submit
, делая
браузер отправить форму как запрос
на адрес, указанный в
атрибут action
формы.
- Некоторый код на реальной странице, обычно написанный в ECMAscript (также известный как javascript ), делает запрос под капотом.
Последний - это то, что вы хотите. Вы должны написать javascript некоторый код, чтобы браузер отправлял информацию, выбранную в раскрывающемся списке, на сервер. Таким образом, ваш код Python на сервере может что-то с этим сделать.
Простой способ сделать это - сделать событие onchange
раскрывающегося списка отправкой:
<select name='myfield' onchange='this.form.submit()'>
<option .... >
...
</select>
</form>
Таким образом, когда пользователь изменяет значение в раскрывающемся списке, форма будет отправлена так, как если бы пользователь нажал кнопку «Отправить». Код Python на сервере будет работать. Браузер загрузит ответ.
Другим популярным способом было бы использовать JavaScript-код XmlHTTPRequest DOM для отправки запроса. Таким образом, вы можете получить значение в python и отправить ответ, который, в свою очередь, будет получен кодом JavaScript в браузере. Этот код может изменять части страницы в зависимости от ответа, не меняя всю страницу. Эта техника называется AJAX .
Если вы планируете писать много кода JavaScript, я настоятельно рекомендую использовать библиотеку JavaScript хотя бы для облегчения работы со многими версиями браузера. jQuery - моя библиотека на выбор.
Другими словами, код, написанный на javascript, выполняемый в браузере , говорит с кодом, написанным на python, работающем на сервере.