Python ';非类型';对象没有属性';检查密码';

Python ';非类型';对象没有属性';检查密码';,python,django-views,Python,Django Views,我的登录视图中出现属性错误。这意味着“NoneType”对象没有“check_password”属性 这是我的视图。py: def login_view(request): if request.method == "POST": username = request.POST['username'] password = request.POST['password'] u = User.objects.get(username=user

我的登录视图中出现属性错误。这意味着“NoneType”对象没有“check_password”属性

这是我的视图。py

def login_view(request):
    if request.method == "POST":
        username = request.POST['username']
        password = request.POST['password']
        u = User.objects.get(username=username)
        if username and password:
            user = authenticate(username= username, password= password)
            if not user.check_password(password):
                return render(request, 'post/login.html', {'error_message': 'Incorrect password'})
            if not user:
                return render(request, 'post/login.html', {'error_message': 'This user does not exist'})
            if not user.is_active:
                return render(request, 'post/login.html', {'error_message': 'Your account has been disabled'})
            if user.is_active:
                login(request, user)
                return render(request, 'post/home.html', {'u' : u})

    return render(request, 'post/login.html')

任何帮助都将不胜感激。

这可能是因为您的变量为空。确保您发布了正确的身份验证变量(用户名和密码)

authenticate(username=username,password=password)返回none如果
authenticate(username=username,password=password)
返回一个用户,这意味着密码已经过检查并且有效,因此您不必调用
check\u password
。我认为它起作用了。谢谢