【问题标题】:How do I get rid of the password constraints (eg. password has to be 8 characters, password can't be too similar to username, etc.) in django如何摆脱 django 中的密码限制(例如,密码必须为 8 个字符,密码不能与用户名过于相似等)
【发布时间】:2020-01-13 19:25:14
【问题描述】:

我需要摆脱默认django密码注册系统中的密码限制,这样用户就不需要密码是八个字符或者密码不能与用户名太相似,并且能够添加我自己的密码约束,例如强度检测器。

【问题讨论】:

  • 你使用的是哪个版本的 Django?
  • 我使用的是 2.2.5 版

标签: python django


【解决方案1】:

设置AUTH_PASSWORD_VALIDATORS 是用户密码必须通过的验证器/约束的列表。如果您使用startproject,这些将被设置为包括您提到的两个约束。您可以将它们从设置中移除

例如,这是使用最新版本的 Django 使用 startproject 开始的新项目的设置

AUTH_PASSWORD_VALIDATORS = [
    { # This validates against the username
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    { # This validates the length
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]

【讨论】:

  • 谢谢,但我在创建注册表时也想知道,在 django 中给出错误时如何指定需要填写的字段。现在的错误只是“此字段是必需的”,但是我如何将此字段更改为实际字段,例如密码或用户名之类的。
  • 是的,我希望它被指定为需要密码或需要用户名,而不是这个字段是必需的
  • 这有点复杂,您必须覆盖注册表并在其中添加这些消息stackoverflow.com/questions/1481771/…
猜你喜欢
  • 1970-01-01
  • 2020-12-22
  • 1970-01-01
  • 1970-01-01
  • 2012-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多