import os
from datetime import timedelta
from flask import Flask, session
app = Flask(__name__)
app.config['SECRET_KEY'] = os.urandom(24) # 生成秘钥
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(hours=2) # 设置session过期时间为2小时
@app.route('/set_session/')
def set_session():
session['username'] = 'session value' # session 设置和字典赋值一样, 可以设置多个session信息
session['user_id'] = '8848' # session 设置和字典赋值一样, 可以设置多个session信息
return '设置session成功'
@app.route('/get_session/')
def get_session():
username = session.get('username') # session取值和字典取值一样
if username:
return '获取session成功'
else:
return '获取session失败'
@app.route('/delete_session/')
def delete_session():
session.pop('username') # session 可以通过pop指定名称删除
del session['username'] #
session.clear() # 也可以通过clear方法直接清空session信息
return '设置session成功'
@app.route('/set_expired_time/')
def expired_time():
session['username'] = 'yonghuxinxi'
# 1.如果没有设置session过期时间, 默认浏览器关闭后过期
# 2.设置过期时间之前 必须在app上绑定 SECRET_KEY 属性
# 3. session.permanent = True且 PERMANENT_SESSION_LIFETIME属性没有设置的情况下 默认有效期为31天
# 4. 设置了PERMANENT_SESSION_LIFETIME属性, 则过期时间已PERMANENT_SESSION_LIFETIME设置的时间为准
session.permanent = True
return '设置session成功'
参考《知了课堂》flask网课整理,用于交流学习