Improperty在 django 中配置了自定义密码值管理器的问题

ImpropertyConfigured issues with customized password valiators in django

提问人:ungali 提问时间:8/17/2023 更新时间:8/17/2023 访问量:37

问:

我正在为 django 编写自定义密码验证器。但是我收到 InproperlyConfigured 错误 ->

配置不当 django.core.exceptions.ImproperlyConfigured:无法导入 NAME 中的模块:auth.validators.UppercaseValidator。检查您的AUTH_PASSWORD_VALIDATORS设置。

settings.py(路径:app/conf/settings/settings.py)。->

AUTH_PASSWORD_VALIDATORS = [
    {'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator'},
    {'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 'OPTIONS': {'min_length': 12}},
    {'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator'},
    {'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator'},
    {'NAME': 'auth.validators.UppercaseValidator'},
]

validators.py(路径:app/auth/validators.py)。->

import re

from django.core.exceptions import ValidationError
from django.utils.translation import ugettext as _


class UppercaseValidator(object):
    def validate(self, password, user=None):
        if not re.findall('[A-Z]', password):
            raise ValidationError(
                _("The password must contain at least 1 uppercase letter, A-Z."),
                code='password_no_upper',
            )

    def get_help_text(self):
        return _("Your password must contain at least 1 uppercase letter, A-Z.")

我开始有点疯狂,因为我看不出问题出在哪里 Priz帮帮我

python django 验证 密码 自定义

评论

0赞 Jacek B Budzynski 8/17/2023
例如,尝试更改您的应用程序名称。我想我记得你不能有一个名为 Auth 的应用程序,因为它与 Django 自己的 Auth 应用程序冲突。authcustom_auth
0赞 ungali 8/17/2023
我试图将 validators.py 移动到与 settings.py 相同的文件夹,但遇到了同样的问题(app/conf/settings/)
0赞 Jacek B Budzynski 8/17/2023
尝试更改为if not re.findall('[A-Z]', password):if not len(re.findall('[A-Z]', password)) >= 1:
1赞 Jacek B Budzynski 8/17/2023
或者尝试改变'app.auth.validators.UppercaseValidator'

答: 暂无答案