0% ont trouvé ce document utile (0 vote)
33 vues2 pages

Flask

Ce cours sur Flask couvre la création de routes, la gestion des formulaires, l'utilisation de flash pour les messages temporaires, et la redirection. Il explique également comment gérer les méthodes GET et POST, ainsi que l'utilisation de Jinja pour afficher des pages HTML dynamiques. Les bonnes pratiques de sécurité et la configuration de l'application avec une clé secrète sont également abordées.

Transféré par

So Min
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
33 vues2 pages

Flask

Ce cours sur Flask couvre la création de routes, la gestion des formulaires, l'utilisation de flash pour les messages temporaires, et la redirection. Il explique également comment gérer les méthodes GET et POST, ainsi que l'utilisation de Jinja pour afficher des pages HTML dynamiques. Les bonnes pratiques de sécurité et la configuration de l'application avec une clé secrète sont également abordées.

Transféré par

So Min
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours Flask : Routes, Formulaires, Flash, Redirect, Jinja

1 Qu’est-ce qu’une route Flask ?


Une route est un chemin (URL) que ton site gère. Avec Flask, tu crées une route avec :
@[Link](’/chemin’)
def fonction():
return "Réponse à afficher"

Objectif du cours
Apprendre à :
— Créer et afficher un formulaire HTML simple
— Récupérer et valider les données côté serveur
— Afficher des messages d’erreur ou de succès
— Utiliser flash et redirect correctement
— Appliquer les bonnes pratiques de sécurité (XSS, CSRF, etc.)

Rappel : Flask imports


from flask import Flask, request, render_template, redirect, flash, url_for
- Flask → créer app - request → récupérer données - render_template → afficher HTML - redirect → rediriger utilisateur - flash →
afficher message temporaire - url_for → générer URL d’une route

app = Flask(__name__)
Crée l’instance principale de ton application Flask.
__name__ permet à Flask de savoir où se trouvent tes fichiers, notamment templates et static.
Exemple :
@[Link](’/’)
def home():
return "Bienvenue"

app.secret_key = ’votre_clé_secrète’
Définit la clé secrète de ton application, obligatoire pour utiliser flash et les sessions.
Sans secret_key, flash() ne fonctionnera pas.
Exemple :
app.secret_key = ’hsue3nsb82hsy3s9d02ns’
# ou mieux :
import os
app.secret_key = [Link](’SECRET_KEY’)

Qu’est-ce que Jinja ?


Jinja est le moteur de templates utilisé par Flask pour afficher des pages HTML dynamiques.
- Avec variable affiche des variables Python dans le HTML. - Avec

3 Qu’est-ce que flash dans Flask ?


Permet d’afficher des messages temporaires comme : - message de succès après inscription - erreur après mauvais mot de passe -
confirmation après suppression
flash("Message à afficher")
Nécessite :
app.secret_key = ’une_cle_secrete’

4 Comment afficher les messages flash dans Jinja ?


Dans le fichier .html :
{% with messages = get_flashed_messages() %}
{% if messages %}
<ul>
{% for msg in messages %}
<li>{{ msg }}</li>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
Cela récupère les messages flashés et les affiche une seule fois après redirection.

2 Les méthodes GET et POST


GET : - Méthode par défaut - Envoie les données dans l’URL - Utilisée pour afficher des pages ou récupérer des informations
POST : - Envoie les données dans le corps de la requête - Utilisée pour envoyer des données au serveur (formulaire) - Plus sécurisée
pour envoyer des informations sensibles

3 Comment gérer GET et POST dans Flask ?


Par défaut, une route accepte uniquement GET. Pour utiliser POST :
@[Link](’/chemin’, methods=[’GET’, ’POST’])
Exemple d’utilisation : - L’utilisateur arrive sur la route (GET) affiche le formulaire - L’utilisateur soumet le formulaire (POST)
Flask récupère les données
if [Link] == ’POST’:
nom = [Link](’nom’)

6 Résumé rapide
@[Link]() pour créer des routes GET méthode par défaut pour afficher ou récupérer des données POST envoi sécurisé des
données au serveur Pour activer POST :
@[Link](’/chemin’, methods=[’GET’, ’POST’])
[Link](’champ’) récupérer données envoyées par POST [Link](’champ’) récupérer données envoyées par GET

Affichage des messages (flash)


Dans le template :
{% with messages = get_flashed_messages() %}
{% if messages %}
<ul class="flashes">
{% for msg in messages %}
<li>{{ msg }}</li>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
Dans le code Python :
flash("Message envoyé avec succès")
flash("Erreur de validation", ’error’)

1 C’est quoi redirect dans Flask ?


redirect redirige automatiquement l’utilisateur vers une autre route ou URL après une action.
Utilisation :
from flask import redirect
return redirect(’/nouvelle_page’)
Meilleure pratique avec url_for :
from flask import redirect, url_for
return redirect(url_for(’nom_fonction’))
où ’nom_fonction’ est le nom de la fonction de ta route cible.

Vous aimerez peut-être aussi