Skip to content
Flask

Session

Store per-user data in signed session cookies.

By EZ4Code Team
sessioncookies

Code

from flask import Flask, session, redirect, url_for, request

app = Flask(__name__)
app.secret_key = "change-me-in-production"

@app.route("/login", methods=["GET", "POST"])
def login():
    if request.method == "POST":
        session["username"] = request.form["username"]
        return redirect(url_for("profile"))
    return "form"

@app.route("/profile")
def profile():
    if "username" not in session:
        return redirect(url_for("login"))
    return f"Hi {session['username']}"

@app.route("/logout")
def logout():
    session.pop("username", None)
    return "logged out"

Explanation

The session object persists data across requests in a signed cookie secured by secret_key. Set values to store them, pop() to remove them, and check membership to gate access. Because the cookie is signed but not encrypted, never store sensitive data in plain form.

More Flask Snippets