我试图通过打印检查可能是问题的原因。它显示那里有user_id和密码,但之后无法继续。
def login_request(request):
if request.method == 'POST':
user_id = request.POST['user_id']
password = request.POST['password']
user = authenticate(user_id=user_id, password=password)
if user is not None:
login(request, user)
return redirect("/index")
else:
messages.info(request, 'Invalid Credentials')
return redirect('login_request')
else:
return render(request, 'login.html')
urls.py path('login_request /',views.login_request,name ='login_request'),
答案 0 :(得分:1)
您需要使用 username 和 password 而不是user_id
对用户进行身份验证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("/index")
else:
messages.info(request, 'Invalid Credentials')
return redirect('login_request')
else:
return render(request, 'login.html')