Модуль "mymodule" не определяет бэкэнд аутентификации "MyBackend" - PullRequest
2 голосов
/ 28 июля 2010

Я пытаюсь использовать пользовательский бэкэнд аутентификации для проекта Django, над которым я работаю.Мой бэкэнд основан на LDAPBackend, найденном в статье Аутентификация LDAP в Django с бэкэндами .

Я получаю ошибку при попытке войти:

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

Мой проект называется "вызов".Существует подкаталог «backends», который содержит __init__.py и LDAPBackend.py.

My settings.py настроен для использования этого бэкэнда таким образом:

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

Я могуимпортировать модуль самостоятельно, используя python manage.py shell, а затем from challenge.backends import LDAPBackend.

Я не уверен, что проверять сейчас, так как все кажется в нужном месте.

1 Ответ

6 голосов
/ 28 июля 2010

Вы импортируете это неправильно.Вы импортируете модуль, а не класс.Вот почему shell позволяет вам импортировать его, но django жалуется.

Вы должны использовать challenge.backends.LDAPBackend.LDAPBackend.

Кроме того, это хорошая идея придерживаться PEP8 при именовании модулей, так вы выигралине путайся снова.Модули должны быть именами в нижнем регистре, без пробелов, подчеркиваний и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...