Python ';非类型';对象没有属性';检查密码';
我的登录视图中出现属性错误。这意味着“NoneType”对象没有“check_password”属性 这是我的视图。py: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
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
。我认为它起作用了。谢谢