Sessions verstehen
Idee
HTTP ist „vergesslich“. Eine Session merkt sich zwischen Requests z. B.:
- wer eingeloggt ist
- Flash-Nachrichten
Flask Session
from flask import Flask, session
app = Flask(__name__)
app.secret_key = "NUR-FUER-LOKALES-LERNEN-AENDERN"
@app.get("/set")
def set_name():
session["user"] = "Luna"
return "gesetzt"
@app.get("/who")
def who():
return session.get("user", "gast")
In echt: Secret aus Umgebungsvariable, nicht hardcoded committen.
Rate mal!
Ist die Session dasselbe wie localStorage im Browser?
Auflösung
Nein – Session wird vom Server verwaltet (Cookie mit Signatur/ID).
Probiere es selbst
Experiment 1
session setzen und lesen.
Experiment 2
Browser neu starten – Session-Cookie-Verhalten beobachten.
Experiment 3
session.pop("user", None) zum Logout.
Übungen
Level 1
Session in einem Satz.
Level 2
Warum secret_key?
Level 3
Logout-Route skizzieren.
Level-3-Lösung
@app.post("/logout")
def logout():
session.clear()
return redirect("/")
Mini-Quiz
Sessions sitzen! Als Nächstes: Passwörter sicher.