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存储机制】大家可以把代码复制粘贴运行一下
推荐阅读
- 深入理解|深入理解 Android 9.0 Crash 机制(二)
- MySQL|MySQL 存储过程语法及实例
- 数据技术|一文了解Gauss数据库(开发历程、OLTP&OLAP特点、行式&列式存储,及与Oracle和AWS对比)
- 2018-03-11|2018-03-11 存储过程
- 笔记|C语言数据结构——二叉树的顺序存储和二叉树的遍历
- C语言学习(bit)|16.C语言进阶——深度剖析数据在内存中的存储
- 03_ARMv8指令集介绍加载与存储指令
- 轻量模块注意力机制ECA-Net(注意力模块+一维卷积)
- Java中的反射
- k8s|k8s(六)(配置管理与集群安全机制)