如何手动渲染django表单的一部分

时间:2014-07-31 14:41:07

标签: django forms templates

我实际上使用以下代码将django表单渲染到template.html:

<form action="{% url "demande_create_form" %}" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Envoyer" />
</form>

其中一个字段使用复选框小部件呈现,其中包含大量值,因此我想将它们放在表格中。

有没有办法在不手动渲染整个表单的情况下执行此操作?

1 个答案:

答案 0 :(得分:4)

您可以简单地使用以下行(及其相应的错误):

<form action="{% url "demande_create_form" %}" method="post">{% csrf_token %}
  <li>
    {{ form.nameOfField1 }}
    {{ form.nameOfField1.errors }}
  </li>
  <li>
    {{ form.nameOfField2 }}
    {{ form.nameOfField2.errors }}
  </li>
  <input type="submit" value="Envoyer" />
</form>

以下是1.6:https://docs.djangoproject.com/en/1.6/topics/forms/#customizing-the-form-template

的文档

此外,由于您有许多字段,您可以使用以下代码:

<form action="{% url "demande_create_form" %}" method="post">{% csrf_token %}
  {% for field in form %}
    <li>
        {{ field.errors }}
        {{ field.label_tag }} {{ field }}
    </li>
  {% endfor %}
  <input type="submit" value="Envoyer" />
</form>

当然,您可以使用除<li>以外的任何其他内容。