0
0
Flaskframework~5 mins

Session data storage in Flask

Choose your learning style9 modes available
Introduction

Session data storage lets a website remember who you are while you browse. It keeps your info safe between pages without asking you again.

When you want to keep a user logged in as they move through pages.
To save items in a shopping cart before checkout.
To remember user preferences like language or theme during a visit.
When you need to store temporary data that should disappear after the browser closes.
Syntax
Flask
from flask import Flask, session

app = Flask(__name__)
app.secret_key = 'your_secret_key'

@app.route('/')
def index():
    session['key'] = 'value'
    return 'Session data saved!'

@app.route('/get')
def get_session():
    return session.get('key', 'No data')

You must set app.secret_key to keep session data secure.

Use session['key'] = value to save data and session.get('key') to read it.

Examples
Saves the username 'Alice' in the session.
Flask
session['username'] = 'Alice'
Reads the username from session or returns 'Guest' if not set.
Flask
user = session.get('username', 'Guest')
Removes the username from session safely.
Flask
session.pop('username', None)
Sample Program

This Flask app lets users log in by saving their username in session data. The homepage shows if they are logged in or not. Logging out removes the username from the session.

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

app = Flask(__name__)
app.secret_key = 'supersecretkey'

@app.route('/')
def index():
    if 'username' in session:
        return f"Logged in as {session['username']}"
    return 'You are not logged in'

@app.route('/login', methods=['POST'])
def login():
    username = request.form['username']
    session['username'] = username
    return redirect(url_for('index'))

@app.route('/logout')
def logout():
    session.pop('username', None)
    return redirect(url_for('index'))
OutputSuccess
Important Notes

Session data is stored client-side in a signed cookie on the user's browser.

Never store sensitive info like passwords directly in session.

Session data lasts until the browser closes or the session is cleared.

Summary

Session storage keeps user info between pages safely.

Set app.secret_key to enable sessions in Flask.

Use session['key'] to save and session.get('key') to read data.