Aller au contenu principal

3 formations sont désormais disponibles : Python, Flask et JS.

Aller au contenu principal

Le contexte de requête (`request`)

Apprendre Flask : Le Guide Ultime
5 min de lecture
Gratuit

Quand un utilisateur visite ton site, il envoie plein d'infos : son navigateur, son IP, des données de formulaire, des paramètres d'URL... Comment on récupère tout ça ? Avec l'objet global request.

Il faut d'abord l'importer :

from flask import request

Note : Même si ça ressemble à une variable globale, Flask se débrouille pour qu'elle soit unique à chaque requête (thread-local). Magique.

1. Les paramètres d'URL (?key=value)

C'est ce qu'on trouve après le ? dans l'URL. Ex : /search?q=flask&page=2.

@app.route('/search')
def search():
    query = request.args.get('q') # Récupère 'flask'
    page = request.args.get('page', 1) # Récupère '2', ou 1 par défaut
    return f"Recherche : {query}, Page : {page}"

Toujours utiliser .get() pour éviter les erreurs si le paramètre n'existe pas.

2. Les données de Formulaire (POST)

Quand un utilisateur remplit un formulaire classique.

@app.route('/login', methods=['POST'])
def login():
    username = request.form.get('username')
    password = request.form.get('password')
    # ... vérification ...

3. Le JSON (API)

Quand une application JS (React, Vue...) t'envoie des données.

@app.route('/api/users', methods=['POST'])
def create_user():
    data = request.get_json() # Transforme le JSON reçu en dictionnaire Python
    name = data['name']
    return f"Utilisateur {name} créé", 201

4. Les Cookies et Headers

@app.route('/infos')
def infos():
    user_agent = request.headers.get('User-Agent') # Quel navigateur ?
    mon_cookie = request.cookies.get('session_id')
    return f"Navigateur : {user_agent}"

C'est l'essence de Flask : request contient TOUT ce que le client t'a envoyé.