====== Activité : gérer les données du formulaire de la page HTML ====== ===== Présentation ===== La page **index.html** contient un formulaire avec : * comme action à exécuter la route demandée sur le serveur : **/ajout** * la méthode d'envoi des données : **POST** * un champ de saisie nommé : **tache** * un bouton de soumission du formulaire ===== Ajout d'un nouvelle route ===== * ajout d'une nouvelle route dans le fichier de l'application **app.py** : @app.route('/ajout', methods=['POST']) def ajout(): vartache = request.form['tache'] # traitement à faire pour mémoriser la nouvelle tâche ... return render_template('index.html', message = "Tâche ajoutée.") ==== Explications ==== * le décorateur **@app.route** définit une nouvelle vue **ajout()** pour la route **'/ajout'** en prenant en compte la méthode d'envoi **POST** des données du formulaire ; * **request.form['tache']** contient l'information saisie dans le **champ du formulaire** de la page HTML qui a pour nom **tache**. Il s'agit de la balise **** * l'instruction **return** permet de renvoyer comme **réponse** au navigateur la même page **index.html** mais en fournissant **une variable pour personnaliser cette page**. L'objet **Request** représente la **requête HTTP envoyée** par le client et reçue par le serveur : le **chemin** de la page demandée au serveur, le **type** de la requête (**GET ou POST**), des informations sur le client, ainsi que les **données** transmises par le formulaire. **ATTENTION** : \\ Mon application **ne doit pas avoir** deux routes identiques avec les mêmes méthodes HTTP, ou deux vues portant le même nom ! ===== Le fichier HTML modifié ===== * L'affichage du contenu la variable message dans le template **index.html** se fait en utilsant **%%{{%%** et **%%}}%%** : Application Todo

Todo liste

Ajouter une nouvelle tâche :
{{message}}
Le résultat après avoir saisi une nouvelle tâche : {{ :isn:flask_02.png |}} ===== Traitement des cases à cocher ===== ==== Retour à l'activité : Utiliser le framework Flask pour créer un site Web dynamique ==== * [[.:flask_01|Activité : Utiliser le framework Flask pour créer un site Web dynamique]]