Django allauth无法检测到user.is_authenticated。

3
我刚刚安装了django all-auth模块,我的问题是用户会话始终为false。user.is_authenticated总是返回false。 我使用我的凭据注册和登录,然后被重定向到REDIRECT_URL。 现在如果我去accounts/login页面,我会再次被重定向到REDIRECT_URL。这一直持续到我使用accounts/logout注销。所以我实际上已经登录了,但user.is_authenticated没有起作用。感谢任何帮助。
这里有一个简单的代码:
 {% if user.is_authenticated %}
            Welcome back {{ user.email }}
        {% else %}
            You are not logged in
        {% endif %}

设置.py(allauth设置):

ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_UNIQUE_EMAIL = True
#ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_EMAIL_VERIFICATION = ("none")
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_AUTHENTICATION_METHOD = 'email'
LOGIN_REDIRECT_URL = 'http://localhost:8000/app/'
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

不,我没有改变用户模型。 - zer02
尝试将is_staff设置为true,我遇到了类似的问题,我认为我已经解决了它。 - Ricardo Burillo
你可能需要从控制台行执行此操作。这是用户对象具有的属性。只需证明一下,取其中一个正在使用的用户并将其保存为user.is_staff = True。 - Ricardo Burillo
如果您在模板上使用request.user.is_authenticated呢?也许问题是您通过请求传递了身份验证。 - Ricardo Burillo
我改了它,但还是不行,仍然是 : / - zer02
显示剩余10条评论
1个回答

0
问题在于我没有使用包含所需requestContext参数的render函数。现在一切正常了。非常感谢您的支持。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接