7、Django实战第7天:用form实现登录

Django提供了form对表单进行验证,比如今天要完成的限定登录的时候用户名和密码不能为空,通过这个操作,数据进入到数据库查询之前,我们就可以过滤很多错误,避免不必要的查询。

在users目录下新建文件forms.py

require=True   表示不能为空

min_length=5  表示最小长度为5

注意:这里的username,password必须对应input的名字

from django import forms


class LoginForm(forms.Form):
    username = forms.CharField(required=True)
    password = forms.CharField(required=True, min_length=5)

修改users.views.py,加上form验证

现在我们可以打断点调试看看,尝试登录的时候不输入用户名

这样的话,我们就可以继续完善逻辑,当表单验证通过,则继续往下走

 现在,我们来验证密码,输入4位密码进行断点调试

我们还可以把form错误信息智能的提供给用户,在前端展示出来:给前端返回一个模板变量

修改前端页面login.html

现在我们来测试下,不输入用户名,输入密码1234进入登录

最后我们来完善下login当中的错误提示:当form验证不通过的时候只提示相应的错误信息,不提示用户名或密码错误

原文地址:https://www.cnblogs.com/sellsa/p/8461021.html