Django PasswordChangeView抛出“密码与电子邮件地址太相似。”

2024-06-17 11:05:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建用户可以更改密码的URL。这个错误有点奇怪,因为我的注册表中甚至没有电子邮件字段。在我的注册表中,我只要求用户提供usernamepassword。另外,我不改变standartUser模型。


如果有人需要任何代码部分来帮助我,写下你需要什么。我甚至不知道应该附加什么,因为我不知道出了什么问题。

升级版1: 感谢py_dude提供有用的链接。我得到了它。对于有同样问题的人,我会留下对我有效的解决方案。你知道吗

转到项目的根目录urls.py。然后,找到AUTH_PASSWORD_VALIDATORS列表,并用下一个值更新具有django.contrib.auth.password_validation.UserAttributeSimilarityValidator键的字典:

'OPTIONS': {
    'user_attributes': ('username', 'first_name', 'last_name')
}

您也可以只留下用户名,或这些字段中的任何一个。 为了获得完整的图片,我在最后附上了我的资料:

AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
        'OPTIONS': {
            'user_attributes': ('username')
        }
    },
    ...
]

Tags: django用户pyauth注册表usernamepasswordcontrib