我们可以自己设置session有效期,比如这是有效期有2个小时
3、获取session
4、删除 session
@app.route(‘/del_session/‘) def del_session(): session.pop(‘username‘) #只删除username #session.clear() 删除全部 return ‘删除成功‘
flask操作session总结
- 设置session:通过flask.session就可操作session了,操作session就跟操作字典是一样的。session[‘username‘] = ‘derek‘
- 获取session: 也是类似字典,session.get(‘key‘)
- 删除session: session.pop(key),删除指定的值;session.clear(),删除session中所有的值
- 设置session有效期:如果没有设置session的有效期。那默认就是浏览器关闭后过期。如果设置session.parmanent=True,那么就会默认31天后过期。如果不想在31天后过期,那么可设置app.config[‘PERMANENT_SESSION_LIFETIME‘]= timedelta(hour=2),可指定多久后过期(比如:2小时)。
from flask import Flask,session import os from datetime import timedelta app = Flask(__name__) app.config[‘SECRET_KEY‘] = os.urandom(24) #自定义设置session的有效期 app.config[‘PERMANENT_SESSION_LIFETIME‘] = timedelta(hours=2) @app.route(‘/‘) def index(): # 设置session session[‘username‘] = ‘derek‘ # permanent:过期时间,默认为false,如果设置为True,则默认为31天之后过期 # 可以通过app.config[‘PERMANENT_SESSION_LIFETIME‘] = timedelta(hours=2) # 来自定义过期时间,这样设置后,session.permanent = True的session有效期则为两个小时 session.permanent = True return ‘Hello World!‘ @app.route(‘/get_session/‘) def get_session(): #获取session username = session.get(‘username‘) # derek return username @app.route(‘/delete_session/‘) def delete_session(): #删除session session.pop(‘username‘) #删除指定的session # session.clear() #删除所有session return ‘删除成功‘ if __name__ == ‘__main__‘: app.run(debug=True)