Doc:
Didacticiels:
Avoir défini une clé dans la valeur SECRET_KEY (voir la page Configuration)
La valeur de la SECRET_KEY se retrouve dans le tableau app.config ou directement dans app.secret_key.
Importer l'objet session :
from flask import session
Dès qu'on écrit quelque chose dans la session, un cookie est enregistré dans le navigateur. Le nom du cookie est “session”. Ce cookie est illisible si on ne possède pas la SECRET_KEY de l'application.
session["USERNAME"] = "Marc"
name = session.get("USERNAME") # OU name = session["USERNAME"]
Si la valeur n'existe pas dans la session, ça renvoie None :
if session.get("USERNAME") is not None: success() else: error()
Tester l'existence d'une valeur avec l'opérateur in :
if "username" in session: return session["username"]
Depuis un template, accéder au contenu de la session comme ceci :
{{ session.USERNAME }} {{ session["USERNAME"] }}
session.pop("USERNAME", None)
Par défaut le cookie de session expire à la fermeture du navigateur.
Pour que la session reste ouverte pendant 31 jours (la valeur par défaut) :
@app.route("/login") def login(): ... if password_is_ok(...): ... session['username'] = username session.permanent = True