Form的实例具有一个is_valid()方法,它会对输入的字段进行校验,如果所有的字段都合法,那么他就会:

  • 返回True
  • 将表单的数据放到cleaned_data属性中。

在创建类的时候,我们其实可以给这个属性加上约束,就像这样:

user = forms.CharField(max_length=10,min_length=5)
#最大长度为10,最小长度为5,这样就可以校验了
def login(request):
    #如果进行的是提交操作
    if request.method == "POST":
        #再次实例化一个对象,但是与get请求不同的是,这里form_obj是有值。
        form_obj = LoginForm(request.POST)
        if form_obj.is_valid():
            return HttpResponse("登录成功")
        else:
            print(form_obj.errors)
            print(type(form_obj.errors))
            print(form_obj.errors["user"])
            print(type(form_obj.errors["user"]))
            return render(request, "login.html", {"form_obj": form_obj})
    #实例化一个对象
    form_obj = LoginForm()
    return render(request,"login.html",{"form_obj":form_obj})