Django - 渲染单个表单字段的<label> </label>

时间:2011-06-01 23:38:43

标签: django django-forms

我选择性地在表单上渲染字段。

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>标记?

1 个答案:

答案 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>
相关问题