我想对Django中的自定义用户模型使用身份验证。我刚刚为自定义用户模型创建了身份验证。但它不会验证用户名和密码。有人为我弄错了代码的人提供帮助。
这是我的views.py文件:
from django.shortcuts import render, redirect
from django.contrib.auth.models import User
from django.contrib.auth import authenticate, login
def loginpage(request):
if request.method =='POST':
username = request.POST['username']
password = request.POST['password']
user = authenticate(request,username=username,password=password)
if user is not None:
login(request,user)
return redirect('profile')
else:
return render(request, 'login.html', {})
答案 0 :(得分:0)
您的身份验证逻辑是错误的。因为您提供了queryset来进行身份验证功能。您可以直接提供用户名和密码。有一个基于doc
进行身份验证的示例然后用EmailAddress
更改您的request.POST.['username']
,
request.POST.get("username")
与request.POST.['password']
request.POST.get("password")