根据this official instruction我使用custom user
制作了USERNAME_FIELD = 'email'
模型。我继续使用username
字段,但不是必需的。 EMAIL
和USERNAME
可能会有所不同。问题是allauth
列中管理面板中的USERNAME
显示了用户的电子邮件地址。
作为测试我做了下一个:
如果我通过“首页 - > Custom_User - >用户”(test_user_name@gmail.com
至CHANGED_test_user_name@gmail.com
)更改了用户的电子邮件,allauth
位于“首页 - >帐户 - >电子邮件地址“在User
列而不是E-mail address
列中显示更改的值。
我检查了一个全新安装的Django,一切都按预期工作。
我希望使用此类allauth
设置获得所需内容:
ACCOUNT_USER_MODEL_USERNAME_FIELD = 'username'
ACCOUNT_USER_MODEL_EMAIL_FIELD = 'email'
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_AUTHENTICATION_METHOD = 'email'
但没有运气。此外,我尝试了许多不同的设置,但无法解决此问题。
如果根本不使用username
字段(从models.py + ACCOUNT_USER_MODEL_USERNAME_FIELD =无删除),并且如果要更改用户的电子邮件,allauth
不会更改其行为 - 请继续显示已更改的电子邮件User
列,而不是Email address
列。
有什么问题?