前言
上一篇form表单我们是自己写上去的,其实Django有自带form表单类
Django forms简介
Django带有一个form库(django.forms)
一个表单对应一个Form表单类(即一个表单需要定义一个与之对应的form对象)
表单中显示的每一个字段都是 Form 类定义的属性,可设置字段的类型,长度,是否必填等( 每一个字段都默认是必填,可以 required=False设置不必填)
form.as_p以段落方式在前端显示form表单
Form表单数据校验
Form表单对象可以对提交的数据有校验和清洗的功能
校验:就是按定义的属性校验;或者在定义字段后,定义校验方法,该方法名称以 clean_ 开头,并以字段名称结束
Django的form系统在校验时会自动寻找匹配的函数方法
清洗:合法的数据会转为python类型数据存储
form.is_valid()返回true后,表单数据都被存储在form.cleaned_data对象中(字典类型,意为经过清洗的数据),而且数据会被自动转换为Python对象
Form对象都有一个 errors 属性,提供了一个字段与错误消息相映射的字典表,没有错误会返回空列表,有错误