我选择性地在表单上渲染字段。
class SomeForm(forms.Form):
foo = forms.ChoiceField(label='Some Foo', ...)
bar = forms.BooleanField(label='Some Bar', ...)
...
我有一个自定义标记,根据其他逻辑,我可以使用标记中的FIELD
上下文变量迭代我需要的表单字段:
{% fieldsineed %}
{% if FIELD.field.widget|klass == "CheckboxInput" %}
<li>{{ FIELD }} {{ FIELD.field.label }}</li>
{% else %}
<li>{{ FIELD.label }}: {{ FIELD }}</li>
{% endif %}
{% endfieldsineed %}
(klass
是我从here获得的过滤器,它返回过滤后的值的类名。)
不幸的是,FIELD.label
只是一个字符串。是否有一种简单的方法可以为给定的表单字段呈现<label>
标记?
答案 0 :(得分:14)
https://docs.djangoproject.com/en/1.9/topics/forms/#s-looping-over-the-form-s-fields
显示你可以做到
{{ FIELD.label_tag }}
应该呈现类似
的内容<label for="id_fieldName">Fieldlabel:</label>