Introduction to sessions
from flask import Flask, request, redirect, session
app = Flask(__name__)
# SECRET_KEY is required to encrypt the contents of the session
app.config['SECRET_KEY'] = 'This is a pretend secret key.'
@app.route('/')
def home():
# Access sessions values
# Can also use `session['pet_name']` but it fails if the key isn't there.
pet_name = session.get('pet_name', '')
if pet_name:
return f'<h1>Your pet\'s name is {pet_name}.</h1>'
else:
return f'<h1>I do not know your pet\'s name.</h1> <a href="/petname">set pet name</a>'
@app.route('/petname')
def pet_name():
return f'<form method="POST"><input type="text" name="pet"><input type="submit"></form>'
@app.route('/petname', methods=['POST'])
def pet_name_action():
pet_name = request.form.get('pet')
# Set the session value
session['pet_name'] = pet_name
return redirect('/')
app.run(debug=True)Session Life
References
Last updated