Form组件的主要功能如下:
- 生成页面可用的HTML标签
- 对用户提交的数据进行校验 O
- 保留上次的输入内容
普通方式手写注册功能
views.py
login.html
使用Form组件实现注册功能
views.py
先定义一个RegForm类:
视图函数
login.html
看网页效果发现,也验证了form的功能:
- 前端页面是form类的对象生成的 --生成HTML标签
- 当用户名和密码输入为空或输错之后,页面提示 --用户提交校验功能
- 用户输入错误后,再次输入,上次的内容继续保留 --保留上次输入内容
创建Form类时,主要涉及到字段和插件,字段用于对用户请求数据的验证,插件用于自动生成HTML
initial
初始值,input框里面的初始值
error_messages
重写错误信息
password
radioSelect
单radio值为字符串
单选Select
多选Select
单选checkbox
示例:
多选checkbox
date类型
choice字段注意事项
在使用选择标签时,需要注意choices的选项可以配置从数据库中获取,但是由于是静态字段 获取的值无法实时更新,需要重写构造方法从而实现choice实时更新。
方式一:
方式二:
内置字段:
RegexValidator验证器
自定义验证函数
除了上面两种方式.我们还可以在Form类中定义钩子函数,来实现自定义验证功能
局部钩子
我们在Form类中定义clean_字段名()方法,就能够实现对特定字段进行校验
举个例子:
全局钩子
我们在Form类中定义clean()方法,就能够实现对字段进行全局校验,字段全部验证完,局部钩子也全部执行完之后,执行这个全局的钩子校验
应用Bootstrap样式
Django form应用Bootstrap样式简单示例
批量添加样式
可通过重写form类的init方法来实现
以上就是本篇文章【Django之Form与ModelForm组件】的全部内容了,欢迎阅览 ! 文章地址:http://w.yusign.com/quote/95.html 行业 资讯 企业新闻 行情 企业黄页 同类资讯 网站地图 返回首页 述古往 http://w.yusign.com/mobile/ , 查看更多