我们在写网站的过程中难免会遇到用户登录的校验问题,我们在进行用户校验的时候,总是从数据库中获取数据,然后再进行对比,就像如下这样:
普通用户校验:
def login(request):
if request.method == "POST":
user = request.POST.get("username")
pwd = request.POST.get("password")
ret = models.user_info.objects.filter(username=user,password=pwd)
if ret:
request.session["username"] = user
return redirect("/index/")
return render(request,"login.html")
这样的校验只是简单地校验,如果再加上cookie校验难度就会增加,现在Django提供了一种另一种认证方式,基于auth组件。
auth用户认证:
from django.contrib import auth
def log_in(request):
user = request.POST.get("username")
pwd = request.POST.get("password")
#验证成功,返回user对象,否则返回None
user = auth.authenticate(username=user,password=pwd)
if user