Django Allauth邮件验证

后端开发 2026-07-09

我在使用Django Allauth的通过代码进行邮箱验证时遇到问题。我已经将设置配置为启用通过代码进行验证,而不是常规的URL,但我在遇到一个问题:

ACCOUNT_EMAIL_VERFICATION_BY_CODE requires ACCOUNT_EMAIL_VERIFICATION = 'mandatory'

虽然我确实启用了所需的设置:

ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = True
ACCOUNT_EMAIL_VERIFICATION_BY_CODE_ENABLED = True
ACCOUNT_EMAIL_VERIFICATION = "mandatory"

有人遇到过这个问题吗?我也尝试开启对社交账户的验证,但这并不能解决问题。

解决方案

请确保你正在使用 django-allauth 的最新版。

另外,docs 指出:

ACCOUNT\_EMAIL\_VERIFICATION 设置为 "mandatory" 要求在ACCOUNT_SIGNUP_FIELDS中列出 "email*"。你可以在设置中放入类似下面这样的配置:

ACCOUNT_SIGNUP_FIELDS = ['email*', 'password1*', 'password2*']

如果错误仍然存在,请把完整的错误日志、settings中的allauth配置以及你所使用的django-allauth版本发上来。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章