我想让用户使用用户名/密码登录。 我还想允许用户输入电子邮件地址以供电子邮件验证使用。
这是我的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
谢谢!
答案 0 :(得分:0)
你需要在你的settings.py-中告诉allauth 'ACCOUNT_AUTHENTICATION_METHOD =“username_email”'
这样可以验证和使用电子邮件作为登录信息。