Flask--session存储机制

flask中要想实现session存储:首先设置一个密钥及过期时间
from datetime import timedelta
from flask import Flask, request, redirect, url_for, session
app = Flask(__name__)
#设置我们的秘钥 用于对sessionid进行加密
app.secret_key="lH4WHi5amT0ZqykHvLofllRJu3UN1uzmeUN0z2IiacjDUb5TLU3ZTtUP5VJqgkMY"
#设置session的过期时间
app.permanent_session_lifetime = timedelta(days=7)


且flask设置session时通过一个session类实现的, 这个类的数据结构是字典 @app.route('/')
def index():
#访问首页时 如果是登录状态 则 提示欢迎信息
username = session.get("username")
if username:
#删除session的数据
return "欢迎回来%s"%username
#如果没有登录 跳转到登录页面
return redirect(url_for("login"))
#登录的路由
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'GET':
with open("login.html") as f:
login_html_content = f.read()
return login_html_content
#Post处理
username = request.form.get("username")
password = request.form.get("password")
#验证登录信息
if username == 'zx' and password=="123":
print("登录成功")
#将我们的状态数据保存到session
session["username"] = username
#设置session是否持久化() 默认为false(会话结束自动删除)
session.permanent = True
# #删除字典数据
# session.pop("username")
return redirect(url_for("index"))
else:
return '登录失败'
if __name__ == '__main__':
app.run()


【Flask--session存储机制】大家可以把代码复制粘贴运行一下

    推荐阅读