Django中的电子邮件身份验证(奇怪的错误)

xRo*_*bot 2 django django-models django-admin

我在settings.py中插入了这个:

AUTHENTICATION_BACKENDS = (
    'blog.auth.backends.EmailBackend',
    'django.contrib.auth.backends.ModelBackend',
)
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

我的问题是:

为什么我会收到此错误?:

ImproperlyConfigured at /signup/
Error importing authentication backend auth.backends: "No module named auth.backends" 
Run Code Online (Sandbox Code Playgroud)

bri*_*ray 5

此外,您可能需要清除会话'从django_session删除;'.我在升级django版本时遇到了这个问题.