django.forms.widget-ChoiceInput
2015-10-29 10:55
399 查看
ChoiceInput主要是用来表示表单中radio和checkbox的。
?
我们先了解html的radio标签。
?
ChoiceInput类,负责输出一行<label>语句。
着重看render函数的输出:
?
label_for 是html中label标签中的for属性。
self.tag(attrs)负责输出<input>标签。
choice_label则负责label标签的展示文本。
label_for的属性值是由id_for_label类属性指定的,id_for_label则是尝试通过attrs.id属性。
?
注意__init__方法中, 如果在attrs参数指定了id, 它会自动添加index参数值的后缀。
然后进入函数tag(),增加type, name, value,checked='checked'属性。
回到__init__函数, 依次解释下每个参数的作用。
name: 负责input的name属性
value: 负责判断checked='checked'属性
attrs: 负责input的属性。
choice: 格式为(choice_value, choice_label), 分别表示input的value属性和label的文本。
index:负责如果attrs参数指定了id,则添加id的后缀。
?
RadioChoiceInput重新指定了input_type值, 并且重写了__init__方法,作用是将value改为文本 格式。
?
CheckboxChoiceInput重新指定input_type值。并且重写了is_checked( )和__init__方法,因为checkbox是可以多选的,所以value值是列表型的。
?
?
着重看render函数的输出:
?
self.tag(attrs)负责输出<input>标签。
choice_label则负责label标签的展示文本。
label_for的属性值是由id_for_label类属性指定的,id_for_label则是尝试通过attrs.id属性。
?
然后进入函数tag(),增加type, name, value,checked='checked'属性。
回到__init__函数, 依次解释下每个参数的作用。
name: 负责input的name属性
value: 负责判断checked='checked'属性
attrs: 负责input的属性。
choice: 格式为(choice_value, choice_label), 分别表示input的value属性和label的文本。
index:负责如果attrs参数指定了id,则添加id的后缀。
?
?
相关文章推荐
- Hello,Algorithm!(你好,算法!)
- django.forms-Widget和Media间的联系
- dajngo.forms.widget-Media
- django signal 拾遗
- Proof for Floyd-Warshall's Shortest Path Derivation Algorithm Also Demonstrates the Hierarchical Path Construction Process
- django.relatedField-关联域
- django.contrib.auth.backend-后台
- google-io-2014
- django.contirb.auth-认证
- google guava
- 1057 - Collecting Gold (状态压缩DP)
- Golang学习笔记 - 【杂项】格式化时间成datetime
- Light OJ 1051 - Good or Bad
- 不疯魔,不成活,Rackspace为什么对管理云如此狂热
- kali——google安装
- django在admin页面展示表的记录的值
- golang 调试
- Golang的安装
- LightOJ - 1057 Collecting Gold(状压DP)
- LightOJ - 1051 Good or Bad(扫描)