【发布时间】:2015-04-27 14:34:18
【问题描述】:
我刚刚安装了 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 %}
Settings.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'
【问题讨论】:
-
你扩展了 django 用户模型吗?
-
不,我没有更改用户模型
-
尝试将 is_staff 设置为 true,我遇到了类似的问题,我想我已经解决了
-
我必须在哪里做这个
is_staff = true? -
您可能必须从控制台行执行此操作。 User 对象具有的属性。只是为了证明采取您正在使用的用户之一并将其保存为 user.is_staff = True
标签: python django django-allauth