【发布时间】:2016-01-24 09:58:45
【问题描述】:
我正在制作一个 Flask Web 应用程序,我尝试在
Flask 存储数据;在我的login 路线中,我做了这样的事情:
session["loginID"] = "the login id"
session["some_data"] = dict()
执行print session 显示值已正确设置。
我的问题如下:在另一个 AJAX 调用中,我尝试检索
some_data 字典来自 session,但 session 为空。
我试图在 Flask 源代码中查找发生了什么,结果发现 request.cookies 对我的请求总是空的,所以 open_session
每次返回一个新会话。
下面是对应的代码:
def open_session(self, app, request):
s = self.get_signing_serializer(app)
if s is None:
return None
val = request.cookies.get(app.session_cookie_name)
if not val:
return self.session_class()
max_age = total_seconds(app.permanent_session_lifetime)
try:
data = s.loads(val, max_age=max_age)
return self.session_class(data)
except BadSignature:
return self.session_class()
有人知道什么会导致这种行为吗?任何帮助将不胜感激。
【问题讨论】: