python 自定义密码哈希错误

python custom password hasher error

惠。我无法导入我的新自定义密码哈希器,我仍然无法弄清楚为什么。

错误:

ImportError at /admin/

No module named 'honeywordHasher.hashers.MyHoneywordHasherdjango'; 'honeywordHasher.hashers' is not a package

我已经在 INSTALLED_APPS 中安装了 honeywordHasher,我在 honeywordHasher 文件中有 init.py。

目录:

C:.
├───checkout
│   ├───migrations
│   │   └───__pycache__
│   ├───templates
│   └───__pycache__
├───contact
│   ├───migrations
│   │   └───__pycache__
│   ├───templates
│   └───__pycache__
├───custom_user
│   ├───migrations
│   │   └───__pycache__
│   └───__pycache__
├───honeywordHasher
│   ├───migrations
│   │   └───__pycache__
│   └───__pycache__
├───profiles
│   ├───migrations
│   │   └───__pycache__
│   ├───templates
│   │   └───accounts
│   └───__pycache__
├───register
│   ├───migrations
│   ├───templates
│   │   └───accounts
│   └───__pycache__
├───sqlite
├───tryFOUR
│   └───__pycache__
└───__pycache__

settings.py :

PASSWORD_HASHERS = [
    'honeywordHasher.hashers.MyHoneywordHasher'
    'django.contrib.auth.hashers.PBKDF2PasswordHasher',
    'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
    'django.contrib.auth.hashers.Argon2PasswordHasher',
    'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',
    'django.contrib.auth.hashers.BCryptPasswordHasher',
]

我已经创建了 hashers.py 并且还在 honeywordgen.py 中生成了 honeyword。我仍然收到此错误。有人可以帮我吗?

您遗漏了自定义哈希器后面的逗号。应该是:

'honeywordHasher.hashers.MyHoneywordHasher',

如果没有逗号,Python concatenates 与下一行的字符串组成 'honeywordHasher.hashers.MyHoneywordHasherdjango.contrib.auth.hashers.PBKDF2PasswordHasher',这会导致导入错误。