Django Form和ModelForm组件

使用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方法来实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值