django中的登录身份验证

时间:2020-02-26 19:21:28

标签: django python-3.x django-views

我想对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', {})

1 个答案:

答案 0 :(得分:0)

您的身份验证逻辑是错误的。因为您提供了queryset来进行身份验证功能。您可以直接提供用户名和密码。有一个基于doc

进行身份验证的示例

然后用EmailAddress更改您的request.POST.['username']request.POST.get("username")request.POST.['password']

request.POST.get("password")