我正在我的 Django 应用程序中设置一个 session 变量,如下所示:
request.session['something'] = True
在此之后,我将用户重定向到登录(via facebook - django-social-auth
)。用户成功登录后,我的 session 变量丢失了。我知道这是因为:-
if "something" in request.session -- is returning False
Django 是否在登录/注销时刷新 session 对象(使用 Django 身份验证系统)还是我做错了什么?
最佳答案
根据登录
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
仅在 现有 session 对应于不同的经过身份验证的用户时刷新 session
。
logout
总是刷新 session (source code)。
希望对您有所帮助。
关于python - Django 会在用户登录时刷新 request.session 对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17580123/