我在我的django项目中使用django-allauth,我明白ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION
默认设置为True
。不幸的是,用户没有在确认时自动登录,所以我明确地将此设置设置为True
。不幸的是,用户在确认他们的电子邮件时仍然没有登录。我的allauth设置:Django allauth不记录用户在电子邮件确认
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_EMAIL_SUBJECT_PREFIX = 'MyApp | '
ACCOUNT_PASSWORD_MIN_LENGTH = 6
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = True
ACCOUNT_EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URL = 'app:createStudent'
ACCOUNT_EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URL = 'app:createStudent'
LOGIN_REDIRECT_URL = 'app:index'
ACCOUNT_LOGOUT_REDIRECT_URL = 'app:index'
ACCOUNT_LOGOUT_ON_GET = True
电子邮件确认重定向也无法正确触发,并且用户被路由到索引。这可能表明用户已经登录了,但是我有条件检查:
{% if request.user.is_authenticated %}
<a href="{% url 'account_logout' %}">Sign Out</a>
{% else %}
<a href="{% url 'account_login' %}" class="login-popup">Login</a> <a href="{% url 'account_signup' %}" class="login-popup">Register</a>
{% endif %}
而且它们表明用户未通过身份验证。
所有帮助表示感谢你。
编辑:我试着改变登录重定向,以确定它是否实际上登录用户,并将它们发送到索引,但它不是。即使我已将登录重定向更改为其他页面,仍然会将它们发送到索引。