form组件进阶_django
1、initial:页面显示初始值,(在编辑修改的时候常用)
initial中复制字典格式,所以可以使用values取出来的数据

2、choices:自动生成select单选标签以及相对应的值
widget中的choices的参数是列表中的元组格式,可以使用value_list获取:

3、attrs:给生成的标签添加属性

4、多选框
MultiplechoiceFiled()
SelectMultiple
choices是放在widget外面进行复制,与单选不一样

5、单选和多选标签无法及时刷新bug
无法动态显示数据,无法及时更新
原因:因为Form类中生成对象,数据是一开始的
改造:每次都去实时更新

6、多读多的初始化,第三张表的id的queryset转换为列表:
利用zip函数

7、单选和多选标签
checkbox:(单选和多选)

radio(互斥)

8、form组件的扩展验证三个钩子
(1)clean_字段名:对每个字段可以有额外的验证(必须有返回值),先执行正则表达式验证,然后执行clean_字段名 函数

(2)clean():整体的验证,在完成所有字段的验证之后,再执行这个函数,
常用于组合验证

(3)_post_clean():也是整体验证,和clean()类似,最后执行
浙公网安备 33010602011771号