You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django自定义密码验证器出现ImproperlyConfigured错误求助

解决Django自定义密码验证器的ImproperlyConfigured错误

问题原因

你遇到的导入错误是因为自定义验证器的模块路径配置不正确,Django无法定位到指定的验证器类。

解决方案

1. 修正AUTH_PASSWORD_VALIDATORS中的类路径

你的validators.py位于app/auth/validators.py,需要在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': 'app.auth.validators.UppercaseValidator'},
]

2. 确认应用已注册到INSTALLED_APPS

检查settings.py中的INSTALLED_APPS是否包含你的应用(此处为app),如果没有则添加:

INSTALLED_APPS = [
    # Django默认应用
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 你的应用
    'app',
]

3. 确保auth目录是合法的Python模块

在app/auth/目录下创建空的__init__.py文件(若不存在),这样Python才能识别该目录为可导入模块:

app/
├── auth/
│   ├── __init__.py  # 必须存在
│   └── validators.py
└── conf/
    └── settings/
        └── settings.py

完成以上操作后重启Django服务,即可正常加载自定义密码验证器。

内容的提问来源于stack exchange,提问作者ungali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 04:22:03