我在Django应用程序中设置会话变量,如下所示:
request.session['something'] = True
在此之后,我将用户重定向到Login(via facebook - django-social-auth
)。用户成功登录后,我的会话变量将丢失。我知道这是因为: -
if "something" in request.session -- is returning False
Django是否在登录/注销时刷新会话对象(使用Django身份验证系统)或者我做错了什么?
答案 0 :(得分:1)
根据login
source code:
def login(request, user):
"""
Persist a user id and a backend in the request. This way a user doesn't
have to reauthenticate on every request. Note that data set during
the anonymous session is retained when the user logs in.
"""
因此,如果您在匿名request.session
中设置某些内容,则会在登录后将其存在。
login
仅刷新会话if the existing session corresponds to a different authenticated user
。
logout
总是刷新会话(source code)。
希望有所帮助。