Using Flask Sessions
Flask exposes a session dict-like object:
from flask import sessionfrom flask import sessionRequirements
Sessions require:
app.config["SECRET_KEY"]app.config["SECRET_KEY"]
Setting and reading values
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")}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
session.pop("favorite_color", None)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
