使用form组件实现注册功能
views.py
先定义好一个RegForm类:
再写一个视图函数:
login2.html
看网页效果发现 也验证了form的功能:
•前端页面是form类的对象生成的 -->生成HTML标签功能
•当用户名和密码输入为空或输错之后 页面都会提示 -->用户提交校验功能
•当用户输错之后 再次输入 上次的内容还保留在input框 -->保留上次输入内容
Form那些事儿
常用字段与插件
创建Form类时,主要涉及到 【字段】 和 【插件】,字段用于对用户请求数据的验证,插件用于自动生成HTML;
initial
初始值,input框里面的初始值
error_messages
重写错误信息。
password
radioSelect
单radio值为字符串
单选Select
多选Select
单选checkbox
多选checkbox
choice字段注意事项
在使用选择标签时,需要注意choices的选项可以配置从数据库中获取,但是由于是静态字段 获取的值无法实时更新,需要重写构造方法从而实现choice实时更新。
方式一:
方式二:
Django Form所有内置字段
字段校验
RegexValidator验证器
自定义验证函数
Hook方法
除了上面两种方式,我们还可以在Form类中定义钩子函数,来实现自定义的验证功能。
局部钩子
我们在Fom类中定义 clean_字段名() 方法,就能够实现对特定字段进行校验。
举个例子:
全局钩子
我们在Fom类中定义 clean() 方法,就能够实现对字段进行全局校验。
补充进阶
应用Bootstrap样式
批量添加样式
可通过重写form类的init方法来实现。
)]
全局钩子
我们在Fom类中定义 clean() 方法,就能够实现对字段进行全局校验。
[外链图片转存中…(img-YMeJAaFN-1724707179906)]
补充进阶
应用Bootstrap样式
[外链图片转存中…(img-U8dEWSK1-1724707179907)]
批量添加样式
可通过重写form类的init方法来实现。