总有各种高大上的用法,但是实际写起来就是那么两三行,直接上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只能在视图内设置,不能和过期时间一起设置