gpt4 book ai didi

python - 模块 "mymodule"未定义 "MyBackend"身份验证后端

转载 作者:行者123 更新时间:2023-11-28 21:30:15 25 4
gpt4 key购买 nike

我正在尝试为我正在开发的 Django 项目使用自定义身份验证后端。我的后端基于文章 LDAP Authentication in Django with Backends 中找到的 LDAPBackend .

当我尝试登录时遇到以下错误:

ImproperlyConfigured at /admin/ 
Module "challenge.backends" does not define a "LDAPBackend" authentication backend

我的项目叫做“挑战”。有一个子目录“backends”,其中包含 __init__.pyLDAPBackend.py

我的settings.py配置为使用此后端:

AUTHENTICATION_BACKENDS = (
'challenge.backends.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
)

我可以使用 python manage.py shell 自行导入模块,然后使用 fromchallenge.backends import LDAPBackend

我不确定现在要检查什么,因为一切似乎都在正确的位置。

最佳答案

您以错误的方式导入它。您正在导入一个模块,而不是一个类。这就是为什么 shell 允许你导入它,但 django 会提示。

您应该使用challenge.backends.LDAPBackend.LDAPBackend

此外,在命名模块时坚持使用 PEP8 是个好主意,这样您就不会再感到困惑了。模块名称应全部小写,且不含空格、下划线等。

关于python - 模块 "mymodule"未定义 "MyBackend"身份验证后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3355492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com