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

a p*_*erd 10 django django-forms

我有选择地在表单上渲染字段.

class SomeForm(forms.Form):
    foo = forms.ChoiceField(label='Some Foo', ...)
    bar = forms.BooleanField(label='Some Bar', ...)
    ...
Run Code Online (Sandbox Code Playgroud)

我有一个自定义标记,基于其他一些逻辑,让我使用FIELD标记中的上下文变量迭代我需要的表单的字段:

{% fieldsineed %}
  {% if FIELD.field.widget|klass == "CheckboxInput" %}
    <li>{{ FIELD }} {{ FIELD.field.label }}</li>
  {% else %}
    <li>{{ FIELD.label }}: {{ FIELD }}</li>
  {% endif %}
{% endfieldsineed %}
Run Code Online (Sandbox Code Playgroud)

(klass是我从这里得到的过滤器,它返回过滤值的类名.)

不幸的是,FIELD.label只是一个字符串.有没有简单的方法<label>为给定的表单字段呈现标记?

Jam*_*ury 15

https://docs.djangoproject.com/en/1.9/topics/forms/#s-looping-over-the-form-s-fields

显示你可以做

{{ FIELD.label_tag }}
Run Code Online (Sandbox Code Playgroud)

应该呈现类似的东西

<label for="id_fieldName">Fieldlabel:</label>
Run Code Online (Sandbox Code Playgroud)

  • 我_确实_花了 20 分钟阅读文档并使用 `dir()` 在 shell 上进行挖掘。很容易错过。数据库管理系统 (2认同)