python - Django 会在用户登录时刷新 request.session 对象吗?

标签 python django session django-socialauth

我正在我的 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/

相关文章:

python - 将作为 pyodbc 游标属性返回的所有字段附加到用户定义的数据类型

python - 使用 loc 方法获取 DataFrame 的 View

php - PHP:设置 session 时,数据未插入数据库吗?

python - 如何从 DataFrame 中的每个组中采样不同数量的行

python - 获取标签之间的文本 BeautifulSoup4

python - Django 'null value in column'

python - Django (1.9) makemigrations 在 bool 字段上没有得到 Blank=True

Django + Pythonanywhere : How to disable Debug Mode

python - 使用jsonify时可以设置cookie吗?

asp.net - 如何确定 ASP.NET 站点 (IIS) 上的用户数量?他们的信息呢?