代码之家  ›  专栏  ›  技术社区  ›  xRobot

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

  •  2
  • xRobot  · 技术社区  · 15 年前

    我已将此插入到settings.py中:

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

    blog是一个应用程序(正确安装),auth是blog应用程序中的一个文件夹,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 回复  |  直到 13 年前
        1
  •  3
  •   Bernhard Vallant    15 年前

    你应该确保 __init__.py 在所有已使用的文件夹中(blog和auth)!

        2
  •  5
  •   brianray    13 年前

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