本站消息

站长简介/公众号


站长简介:高级软件工程师,曾在阿里云,每日优鲜从事全栈开发工作,利用周末时间开发出本站,欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

用户无法验证

发布于2021-10-31 13:46     阅读(1076)     评论(0)     点赞(13)     收藏(1)



我正在使用自定义用户模型的自定义身份验证。

当用户通过身份验证时,它会根据需要重定向到主页,但用户不会通过身份验证。当我签入模板时,{{user.is_authenticated}}它说 False。

如何解决?

这是我用于自定义身份验证的后端文件:

from contracts.models import User
from django.contrib.auth.hashers import check_password

class AuthBackend:
    def authenticate(self, email=None, password=None):
        try:
            user = User.objects.get(email=email)
            if not check_password(password, user.password):
                return None
        except User.DoesNotExist:
            return None
        return user

    def get_user(self, user_id):
        try:
            return User.objects.get(pk=user_id)
        except User.DoesNotExist:
            return None

我的看法:

class LoginView(View):
    form_class = LoginForm
    template_name = 'login.html'

    def get(self, request):
        form = self.form_class(None)
        return render(request, self.template_name, {'form': form})

    def post(self, request):
        form = self.form_class(request.POST)

        if form.is_valid():

            email = form.cleaned_data['email']
            password = form.cleaned_data['password']

            user = authenticate(email=email, password=password)

            if user is not None:
                if user.is_active:
                    login(request, user)
                    return redirect('/')
        return render(request, self.template_name, {'form': form})

添加到我的设置文件中:

AUTHENTICATION_BACKENDS = ['contracts.auth.backend.AuthBackend']
AUTH_USER_MODEL = 'contracts.User'

Django 版本是 2.0.4


解决方案


我在更改login导入时修复了它

from django.contrib.auth.views import login

到:

from django.contrib.auth import login






所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/1070497/3cbd04a941e35700ef53/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

13 0
收藏该文
已收藏

评论内容:(最多支持255个字符)