Using Flask Sessions
Flask exposes a session dict-like object:
python
from flask import sessionpython
from flask import sessionRequirements
Sessions require:
app.config["SECRET_KEY"]app.config["SECRET_KEY"]
Setting and reading values
python
from flask import Flask, session
app = Flask(__name__)
app.config["SECRET_KEY"] = "dev-key"
@app.route("/set")
def set_value():
session["favorite_color"] = "blue"
return "ok"
@app.route("/get")
def get_value():
return {"favorite_color": session.get("favorite_color")}python
from flask import Flask, session
app = Flask(__name__)
app.config["SECRET_KEY"] = "dev-key"
@app.route("/set")
def set_value():
session["favorite_color"] = "blue"
return "ok"
@app.route("/get")
def get_value():
return {"favorite_color": session.get("favorite_color")}Removing values
python
session.pop("favorite_color", None)python
session.pop("favorite_color", None)Important constraints
Because Flask’s default session is stored in a cookie:
- keep session data small
- don’t store secrets in sessions (client can read)
- sign integrity is provided, confidentiality is not
How Flask-Login uses session
Flask-Login stores:
- the logged-in user id
in the session so it persists across requests.
If this helped you, consider buying me a coffee ☕
Buy me a coffeeWas this page helpful?
Let us know how we did
