总有各种高大上的用法,但是实际写起来就是那么两三行,直接上demo:
from datetime import timedelta
from flask import Flask,session
app = Flask(__name__)
app.secret_key = 'abc123'
app.permanent_session_lifetime = timedelta(hours=1)
@app.route('/')
def set():
session['username'] = 'star'
return 'hahaha!'
@app.route('/test')
def test():
username = session.get('username',None)
if username == 'star':
return 'success'
return 'error'
if __name__ == '__main__':
app.run(debug=True)
要说明的是:
permanent是“永久”的意思,
如果设置了此项为True,
意味着在permanent_session_lifetime过期时间内即使关闭浏览器,再次打开时session还有效
如果设置了此项为False,
即使在session的有效期内关闭浏览器,也会清空session,从而导致登录失效
还有就是,session.permanent只能在视图内设置,不能和过期时间一起设置