TP n°3 : Première application Flask§

Mise en place§

Votre travail§

Créez un fichier tp3.py en suivant l’exemple du cours, ainsi qu’un fichiers serveur.py pour tester votre application.

  • Créez une vue pour la route /td1/<filename>, qui renvoie le contenu des fichiers contenus dans le répertoire td1 (issus de l’archive fichiers.zip). Vérifiez que le rendu des différentes pages est identique à celui du TD1.

  • Faites en sorte que l’URL /td1/ de votre application affiche le contenu du fichier td1/index.html.

  • Que se passe-t-il lorsque vous remplissez et validez le formulaire à l’URL /td1/form.html ? Faites en sorte d’afficher le message “Vos données ont bien été prises en compte” (même si ça n’est pas tout à fait vrai pour l’instant).

    Pour cela, notez que Le décorateur app.route accepte un paramètre nommé methods. Sa valeur est une liste de chaînes, indiquant la ou les méthode(s) HTTP acceptée(s) par la vue :

    @app.route("/foo/bar", methods=['PUT'])
    def foo_bar():
        # ...
    
  • Faites maintenant en sorte que, lorsqu’on soumet des données via /td1/form.html, le serveur réponde avec un tableau à deux colonne affichant le prénom, le nom et le genre qui ont été saisis.

    Pour cela, notez que les valeurs des paramètres passés dans l’URL sont accessibles dans le dictionnaire request.form (request est un objet importé depuis le package flask).

  • En plus d’afficher les données soumise par le formulaire, on vous demande maintenant de les stocker dans la base de données db.sqlite3 (fournie dans fichiers.zip), plus précisément dans la table FormData qui contient les 3 colonnes prénom, nom et genre.

    Pour plus d’information sur la connection à une base de données sqlite3, consultez l’annexe Connexion à une base de données.

  • Créez une nouvelle vue pour la route /inscrits, qui affiche la liste des personnes stockées dans la base de données db.sqlite3.

  • Ajoutez

    • un lien dans la vue /formproc pointant vers la liste des inscrits;
    • un lien dans la vue /inscrit pointant vers le formulaire pour ajouter une personne.