forms组件
作用
1 | 前台会传过来不同种类的数据,对前台传过来的数据进行校验 |
在views.py导入 django 的form模块
1 | from django import form |
写一个类
1 | class MyForm(forms.Form): |
定义视图函数1
1 | # 要校验的字典,可以多参数,少呢? 但是不能少 |
index.html
1 |
|
forms组件校验渲染
定义视图函数2
1 | def index_form2(request): |
第一种渲染方式
1 |
|
第二种渲染方式 注意label
1 | <hr> |
在form类定义里面属性加入lacel参数
1 | # 前台传过来不同种类的数据 |
第三种渲染方式 不建议使用
1 | <h1>第三种方式</h1> |
forms组件渲染错误信息
1 | - myforms有errors |
views.py代码
1 | def index_form3(request): |
index3.html
1 |
|
错误信息变中文和指定样式
1 | # 前台传过来不同种类的数据 |
钩子函数
局部钩子
作用
1 | 比如用户名已经被注册 ,需要校验渲染到页面上 |
使用在其他校验完成后做钩子函数的校验
1 | -定义一个函数,名字叫:clean_字段名字,内部,取出该字段,进行校验,如果通过,将该字段返回,如果失败,抛异常(ValidationError) |
全局钩子
1 | #重写clean方法 |