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

ego*_*goz 0 forms django templates

我实际上将带有以下代码的 Django 表单渲染到 template.html 中:

<form action="{% url "demande_create_form" %}" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Envoyer" />
</form>
Run Code Online (Sandbox Code Playgroud)

其中一个字段是用一个复选框小部件呈现的,有很多值,所以我想把它们放在一个表中。

有没有办法在不手动渲染整个表单的情况下做到这一点?

Rap*_*ent 5

您可以简单地使用以下几行(带有相应的错误):

<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>
Run Code Online (Sandbox Code Playgroud)

这是 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>
Run Code Online (Sandbox Code Playgroud)

当然,您可以使用除<li>.