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
相关产品推荐
相关产品推荐

