2023.10.24 flask中session的使用方法
在 Flask 中,可以使用内置的 “session” 对象进行会话管理。
1、导入 session 对象并设置一个秘密密钥(secret key)。密钥可用于保护 session 信息。
from flask import Flask, session
app = Flask(__name__)
app.secret_key = 'your secret key' # 设置一个字符串作为秘密密钥。并确保其是随机的且不应在源码中公开。
2、操作 session 对象。例如设置一个名为 ‘username’ 的 session 键:
@app.route('/login', methods=['POST'])
def login():
if request.method == 'POST':
session['username'] = request.form['username']
return redirect(url_for('index'))
3、显示 session 中的值,例如:
@app.route('/')
def index():
if 'username' in session:
return 'Logged in as %s' % escape(session['username'])
return 'You are not logged in'
4、移除 session 数据
@app.route('/logout')
def logout():
# 如果存在 'username' 则移除
session.pop('username', None)
return redirect(url_for('index'))
注意,Flask 的 session 是签名(但不是加密)的,如果应用需要很高的安全性,可能需要使用第三方库来提供更安全的 session 管理,比如 Flask-Session、Flask-KVSession 等。