Skip to content
Flask

Session

Store per-user data in signed session cookies.

#session#cookies

Code

flask
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"