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()类似,最后执行

 

  

  

 

posted on 2020-07-28 16:55  陈小赞  阅读(141)  评论(0编辑  收藏  举报

导航