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

发布于 2024-08-31 10:49:42 字数 959 浏览 3 评论 0原文

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

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

博客是一个应用程序(正确安装),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" 

I have inserted this in settings.py:

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

blog is an application ( correctly installed ), auth is a folder in blog application, backends.py is the file that contain this method:

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

My question is:

Why I get this error ? :

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

櫻之舞 2024-09-07 10:49:42

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

Also you may need to clear your sessions 'delete from django_session;'. I ran into that when upgrading django versions.

浅黛梨妆こ 2024-09-07 10:49:42

您应该确保所有使用的文件夹(博客和身份验证)中都有一个 __init__.py

You should make sure to have an __init__.py in all of the used folders (blog and auth)!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文