1

根据这个官方说明,我custom userUSERNAME_FIELD = 'email'. 我继续使用username字段,但不是必需的。EMAIL并且USERNAME可能会有所不同。问题是allauth在管理面板中的列USERNAME显示用户的电子邮件地址。

作为测试,我做了下一个:

  1. 我创建了 2 个用户,并allauth显示了相同的值username以及email何时应该不同。 在此处输入图像描述

  2. 如果我通过“主页 -> Custom_User -> 用户”(test_user_name@gmail.comCHANGED_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 = None 中删除),并且如果要更改用户的电子邮件,allauth则不会更改其行为 - 继续在列中显示更改的电子邮件User,而不是在Email address列中。

怎么了?

4

0 回答 0