使用自定义用户模型“allauth”不会按预期在管理面板中显示用户名

时间:2016-08-14 14:41:07

标签: django django-allauth django-custom-user

根据this official instruction我使用custom user制作了USERNAME_FIELD = 'email'模型。我继续使用username字段,但不是必需的。 EMAILUSERNAME可能会有所不同。问题是allauth列中管理面板中的USERNAME显示了用户的电子邮件地址。

作为测试我做了下一个:

  1. 我创建了2个用户,allauth显示usernameemail相同的值,它们应该不同。 enter image description here

  2. 如果我通过“首页 - > Custom_User - >用户”(test_user_name@gmail.comCHANGED_test_user_name@gmail.com)更改了用户的电子邮件,allauth位于“首页 - >帐户 - >电子邮件地址“在User列而不是E-mail address列中显示更改的值。 enter image description here

  3. 我检查了一个全新安装的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列。

    有什么问题?

0 个答案:

没有答案