📌  相关文章
📜  无法导入 NAME 中的模块:django.contrib.user_auth.password_validation.UserAttributeSimilarityValidator.检查您的 AUTH_PASSWORD_VALI - Python (1)

📅  最后修改于: 2023-12-03 15:10:26.300000             🧑  作者: Mango

无法导入 NAME 中的模块:django.contrib.user_auth.password_validation.UserAttributeSimilarityValidator

如果您使用了Django的身份验证系统并在设置中使用了密码验证,那么可能会遇到此错误。该错误表示您的应用程序无法导入 Django.contrib.user_auth.password_validation.UserAttributeSimilarityValidator 模块。

此模块定义了一些验证器,用于验证保存在用户模型中的密码。UserAttributeSimilarityValidator验证器是其中之一,其目的是检查密码是否与用户的某些属性相似。

检查您的 AUTH_PASSWORD_VALI

在 Django 2.1 之后,Django 提供了一个名为 AUTH_PASSWORD_VALIDATORS 的新设置,您可以在其中配置密码验证器。如果您使用的是旧版本的 Django,密码验证器设置可能位于 AUTHENTICATION_BACKENDS 中。

检查您的 Django 项目的设置文件中是否有 AUTH_PASSWORD_VALI 或 AUTHENTICATION_BACKENDS 设置。如果您使用的是 AUTH_PASSWORD_VALI,请检查它是否正确地配置为:

AUTH_PASSWORD_VALIDATORS = [
    {'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator'},
    {'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator'},
    {'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator'},
    {'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator'},
]
确保 Django 版本正确

请检查您的 Django 版本是否为 Django 2.1 或更高版本。如果不是,请将 Django 更新到最新版本。

确保 Django.contrib.user_auth.password_validation 存在

最后,请确保 Django.contrib.user_auth.password_validation 存在于您的 Django 安装中。该模块应包含在 Django 的核心中,因此只要您正确安装了 Django,即可使用它。

如果您已确认上述步骤,但仍无法导入该模块,请尝试在 Django 安装目录中手动查找它,或者尝试重新安装 Django。

希望这些步骤能够帮助您解决 Django 密码验证器模块无法导入的问题。