Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么Django';s布尔场&x27;在模板中,Bounds字段有时返回字符串,有时返回布尔值?_Python_Django_Forms - Fatal编程技术网

Python 为什么Django';s布尔场&x27;在模板中,Bounds字段有时返回字符串,有时返回布尔值?

Python 为什么Django';s布尔场&x27;在模板中,Bounds字段有时返回字符串,有时返回布尔值?,python,django,forms,Python,Django,Forms,当表单加载初始值时,或者当表单加载被绑定时(form=skieperform(request.POST))和form.is\u有效() 返回模板中的False(bool) 当表单未在form=skieperform(request.POST)上验证时,则form['field\u name'].value()在模板中返回False(字符串) 我对此感到非常不高兴,因为它使检查布尔字段的状态变得更加困难(例如,为了设置复选框的正确状态) 这是模型定义: BOOLEAN_YN = ( (Tr

当表单加载初始值时,或者当表单加载被绑定时(
form=skieperform(request.POST)
)和
form.is\u有效()

返回模板中的
False
(bool)

当表单未在
form=skieperform(request.POST)
上验证时,则
form['field\u name'].value()
在模板中返回
False
(字符串)

我对此感到非常不高兴,因为它使检查布尔字段的状态变得更加困难(例如,为了设置复选框的正确状态)

这是模型定义:

BOOLEAN_YN = (
    (True, _('Ja')),
    (False, _('Nein')),
)
field_name = models.BooleanField(_("A boolean field"), default=False, choices=BOOLEAN_YN)
Django模板中的字段值称为like

{% for value, text in form.field_name.field.choices %}
   {{ value }}
   {% if form.field_name.value == value %}checked!{% endif %}
{% endfor %}

为什么要这样渲染场?为什么不干脆
{{form.field_name}}
?有很多自定义HTML/CSS魔术可以呈现完全自定义的复选框。
{% for value, text in form.field_name.field.choices %}
   {{ value }}
   {% if form.field_name.value == value %}checked!{% endif %}
{% endfor %}