Django-allauth - 如何为差异帐户启用相同的电子邮件地址

时间:2018-05-17 17:04:17

标签: django django-allauth

我想让用户使用用户名/密码登录。 我还想允许用户输入电子邮件地址以供电子邮件验证使用。

这是我的settings.py

ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_UNIQUE_EMAIL = False
ACCOUNT_USERNAME_REQUIRED = True
ACCOUNT_AUTHENTICATION_METHOD = 'username'
ACCOUNT_USER_MODEL_USERNAME_FIELD = 'username'
ACCOUNT_EMAIL_CONFIRMATION_EXPIRE_DAYS = 1
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'

然而,当我尝试注册时。将出现错误消息。

(1062, "Duplicate entry 'test@test.com' for key 'email'")

我发现," auth_user"中有一个新条目。表。 但它无法写入" account_emailaddress"表

另外,我发现mysql中有一个用于" account_emailaddress"

的配置
UNIQUE KEY `email` (`email`),

如何停用唯一的电子邮件设置?

我使用python 3.4,django 2.0,django-allauth 0.35

谢谢!

1 个答案:

答案 0 :(得分:0)

你需要在你的settings.py-中告诉allauth  'ACCOUNT_AUTHENTICATION_METHOD =“username_email”'

这样可以验证和使用电子邮件作为登录信息。