TP n°3 : Première application Flask¶§
Mise en place¶§
Créez un environnement virtuel.
Installez-y
flask
avec la commande :pip install flask
Récupérez le fichier fichiers.zip et décompressez le.
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épertoiretd1
(issus de l’archivefichiers.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 packageflask
).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 dansfichiers.zip
), plus précisément dans la tableFormData
qui contient les 3 colonnesprénom
,nom
etgenre
.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éesdb.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.
- un lien dans la vue