Аутентификация электронной почты в Django (странная ошибка) - PullRequest
2 голосов
/ 04 мая 2010

Я вставил это в settings.py:

AUTHENTICATION_BACKENDS = (
    'blog.auth.backends.EmailBackend',
    'django.contrib.auth.backends.ModelBackend',
)

blog - приложение (правильно установлено), auth - папка в приложении блога, backends.py - файл, содержащий этот метод:

from django.contrib.auth.backends import ModelBackend
from django.core.validators import email_re
from django.contrib.auth.models import User


class EmailBackend(ModelBackend):

    def authenticate(self, username=None, password=None):
        if email_re.search(username):
            try:
                user = User.objects.get(email=username)
                if user.check_password(password):
                    return user
            except User.DoesNotExist:
                return None
        return None

Мой вопрос:

Почему я получаю эту ошибку? :

ImproperlyConfigured at /signup/
Error importing authentication backend auth.backends: "No module named auth.backends" 

Ответы [ 2 ]

5 голосов
/ 10 мая 2012

Также вам может потребоваться очистить ваши сессии 'delete from django_session;'. Я столкнулся с этим при обновлении версий Django.

3 голосов
/ 04 мая 2010

Вы должны убедиться, что у вас есть __init__.py во всех используемых папках (блог и авторизация)!

...