这篇文章主要介绍了flask框架中的session怎么设置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Flask框架中的session怎么设置文章都会有所收获,下面我们一起来看看吧。Flask中的sessio
这篇文章主要介绍了flask框架中的session怎么设置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Flask框架中的session怎么设置文章都会有所收获,下面我们一起来看看吧。
Flask除请求对象之外,还有一个 session 对象。
它允许你在不同请求间存储特定用户的信息。它是在 Cookies 的基础上实现的,并且对 Cookies 进行密钥签名要使用会话,你需要设置一个密钥。
我们知道,在Django中的session是存储在服务器中的数据库中的,也就是djanGo_session表中,而flask中的session是交由客户端保管的,也就是存储在本地的cookie中。
session的方法:
session['username'] = 'stzz';设置session
session.pop("username",None);删除session
app.session_cookie_name = "I am not Session"
其他配置
'SESSION_COOKIE_NAME': 'session', # 设置session的名字'SESSION_COOKIE_DOMaiN': None,'SESSION_COOKIE_PATH': None,'SESSION_COOKIE_HttpONLY': True,'SESSION_COOKIE_SECURE': False,'SESSION_REFRESH_EACH_REQUEST': True, # 是否每次都跟新'PERMANENT_SESSION_LIFETIME': timedelta(days=31) # 设置session的过期时间
cookies 中 session 存储的是通过 secret_key 加密后的 key , 通过这个 key 从flask程序的内存中找到用户对应的session信息
当我们开启session时,设置session["username"]="stzz",flask会帮我们创建一个字典{"username":"stzz"},然后通过secret_key + 时间戳 + 签名经过加密生成一个字符串。
当客户端发送请求时,request请求会带上cookie,也就是session中的数据存储在其中,这个数据就是之前加密后的字符串,发送到后端后,flask会通过secret_key去解密session中的加密字符串,从而获取{"username":"stzz"}从而来验证是否登录。
from flask.blueprints import Blueprintfrom flask import Response, sessionfrom flask_restful import fields, marshalfrom flask_sqlalchemy.query import Queryfrom sqlalchemy import or_, and_from ..model.UserModel import Userimport JSONuser_bp = Blueprint("user", __name__, url_prefix="/user")user_fields = { "id": fields.Integer, "username": fields.String, "passWord": fields.String, "age": fields.Integer}@user_bp.route("/hello")def hello(): result = User.query.filter(or_(User.username.startswith("王"), and_(User.username == "王天祥", User.age > 21))) return marshal(result.all(), fields=user_fields)@user_bp.route("/setSession", methods=["GET", "POST"])def setSession(): session["name"] = "STZZ" return "设置session成功!!!"@user_bp.route("/getSession")def getSession(): username = session.get("name") if username: return username else: return "用户未登录!!!"
关于“Flask框架中的session怎么设置”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Flask框架中的session怎么设置”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。
--结束END--
本文标题: Flask框架中的session怎么设置
本文链接: https://www.lsjlt.com/news/349834.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-11
2024-05-11
2024-05-11
2024-05-11
2024-05-11
2024-05-11
2024-05-11
2024-05-11
2024-05-11
2024-05-11
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0