2010-07-28 36 views
1

我正在尝试为我正在处理的Django项目使用自定义身份验证后端。我的后端基于文章LDAP Authentication in Django with Backends中的LDAPBackend。模块“mymodule”未定义“MyBackend”身份验证后端

,我发现了floowing错误,当我尝试登录:

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

我的项目被称为“挑战”。有一个子目录“后端”,其中包含__init__.pyLDAPBackend.py

settings.py配置为使用正是如此这个后端:

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

我能够导入自己使用python manage.py shell,然后from challenge.backends import LDAPBackend模块。

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

回答

5

您正在以错误的方式导入它。您正在导入一个模块,而不是一个班级。这就是为什么shell允许你导入它,但django抱怨。您可以使用challenge.backends.LDAPBackend.LDAPBackend

此外,在命名模块时,坚持使用PEP8是一个好主意,这样您不会再那么困惑。模块应该名字全部用小写字母表示,并且没有空格,下划线等。

+0

工作就像一个魅力。感谢模块命名提醒。我也已经纠正过了! – 2010-07-28 18:31:57

+0

很高兴我能帮忙:-) – gruszczy 2010-07-28 18:32:35