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验证不通过的时候只提示相应的错误信息,不提示用户名或密码错误
每天进步一点,加油!