Votre question montre un malentendu sur la façon dont web applications fonctionne.
L'utilisateur doit taper une adresse dans un navigateur pour accéder à l'application. Cela envoie une requête au serveur. Le code du serveur (écrit en python) reçoit cette requête et a la possibilité d'envoyer une réponse. La réponse est un document généralement écrit en HTML. Certaines parties de ce document peuvent être dynamiques, c'est-à-dire générées par le code python. D'autres parties du document peuvent être statiques. Le navigateur affiche ensuite le document dans la fenêtre de l'utilisateur. Après cela, le seul moyen que votre code python peut connaître de quelque chose qui se passe dans la fenêtre du navigateur, ou exécuter une partie du code python, est de faire en sorte que le navigateur envoie une autre requête.
Cela peut se produire dans de nombreuses situations, l'être le plus commun:
- utilisateur clique sur un lien vers une autre URL , faisant navigateur envoyer une autre demande à cette nouvelle URL.
- utilisateur clique sur le bouton
submit
, faisant navigateur soumettre le formulaire comme une demande à l'adresse configurée dans l'attribut action
de la forme .
- Un certain code dans la page actuelle, généralement écrit en ECMAscript (également connu sous le nom javascript), fait une demande sous le capot.
Ce dernier est ce que vous voulez. Vous devez écrire javascript du code pour que le navigateur envoie les informations choisies dans la liste déroulante vers le serveur. De cette façon, votre code python sur le serveur peut faire quelque chose.
La façon simple de le faire est en faisant l'événement onchange
de la baisse faire descendre un soumettre:
<select name='myfield' onchange='this.form.submit()'>
<option .... >
...
</select>
</form>
De cette façon, lorsque l'utilisateur modifie la valeur sur le menu déroulant, le formulaire sera submited comme si l'utilisateur a cliqué sur soumettre. Le code Python sur le serveur va s'exécuter. Le navigateur chargera la réponse.
Un autre moyen populaire serait d'utiliser l'API DOM de javascript XmlHTTPRequest pour envoyer la requête. De cette façon, vous pouvez recevoir la valeur en python et envoyer une réponse, qui à son tour sera reçue par le code javascript dans le navigateur. Ce code peut changer des parties de la page en fonction de la réponse, sans changer la page entière. Cette technique est appelée AJAX.
Si vous envisagez d'écrire beaucoup de code javascript, je suggère fortement d'utiliser une bibliothèque javascript au moins pour alléger la peine de traiter de nombreuses versions de navigateur. jQuery est ma bibliothèque de choix. En d'autres termes, le code écrit en javascript dans le navigateur parle au code écrit en python s'exécutant sur le serveur.
merci beaucoup! ça a marché. et merci spécial pour l'info supplémentaire. je suis débutant .... – Tom