4

我在我的 Django 应用程序中设置一个会话变量,如下所示:

request.session['something'] = True

在此之后,我将用户重定向到 Login ( via facebook - django-social-auth)。用户成功登录后,我的会话变量丢失了。我知道这是因为:-

if "something" in request.session -- is returning False

Django 在登录/注销时刷新会话对象(使用 Django 身份验证系统)还是我做错了什么?

4

1 回答 1

3

根据login 源代码

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总是刷新会话(源代码)。

希望有帮助。

于 2013-07-10T20:25:28.110 回答