1

嘿。我无法导入我的新自定义密码哈希,我仍然无法弄清楚原因。

错误 :

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__

设置.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',
]

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

4

1 回答 1

2

您在自定义哈希后错过了逗号。它应该是:

'honeywordHasher.hashers.MyHoneywordHasher',

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

于 2017-10-19T09:09:01.280 回答