Flask中的session简易用法教程,以及permanent通俗解释

总有各种高大上的用法,但是实际写起来就是那么两三行,直接上demo:


from datetime import timedelta
from flask import Flask,session

app = Flask(__name__)
# 设置session的密码
# 可以这样设置,但是有更好看的方法
# app.config['SECRET_KEY'] = 'abc123'
app.secret_key = 'abc123'

# 设置过期时间,类型是timedelta,写数字不报错、但是不生效,注意!!!
app.permanent_session_lifetime = timedelta(hours=1)

# 颁发session
@app.route('/')
def set():
    # 类似字典
    session['username'] = 'star'
    # session.permanent = True

    return 'hahaha!'

# 验证session是否有效
@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只能在视图内设置,不能和过期时间一起设置
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值