【问题标题】:django admin auth.User make email requireddjango admin auth.User make email required
【发布时间】:2016-06-30 01:53:42
【问题描述】:

我有个小问题,

在管理面板中,您可以通过以下方式将用户的电子邮件设置为唯一:

User._meta.get_field('email')._unique = True

我想知道你是否也可以像上面的 sn-p 一样使它成为必需的,如果是这样,我该怎么做?

【问题讨论】:

标签: python django


【解决方案1】:

我不确定您是否专门要求管理员登录,但假设您可以使用常规 django-allauth 流程登录,您需要做的就是添加以下设置 (settings.py):

ACCOUNT_USER_MODEL_EMAIL_FIELD= 'email'
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_USERNAME_REQUIRED = True   
ACCOUNT_EMAIL_REQUIRED = True

如果您想切换到使用电子邮件本身进行登录(在这种情况下,这也是必需的,并且也需要使用管理员登录,请添加

ACCOUNT_AUTHENTICATION_METHOD = 'email'

希望对你有帮助

【讨论】:

  • 您应用的settings.py
  • 澄清答案,这在亚历克斯所说的 settings.py 上
  • 如果我的理解是正确的,我会把它放在我的settings.py 文件中的任何地方。如果是这样,那么什么都没有发生,我仍然可以将电子邮件留空
  • 您的问题(以及我的回答中的免责声明)不清楚的是您使用的是 django-allauth 还是 django 管理员登录。你能澄清一下吗?您是否使用 /admin/login 登录?或类似 /account/login 的东西?一个由 django 管理,一个由 allauth 管理。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-01
  • 2012-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多