我有一个 Django 表单集,我想将其输出为每个嵌套表单的一个表行,如下所示:
<form>
{{ feature_formset.management_form }}
<table>
{% for form in feature_formset %}
<tr>
{% for field in form %}
<td>{{ field.name }} {{ field }}</td>
{% endfor %}
</tr>
</table>
{% endfor %}
</form>
然而,不知何故(我认为)自动字段渲染被table
包装器混淆了。
我期望的输出如下:
<form>
...
<table>
<tr>
<td>id: <input ...></td>
<td>name: <input ...></td>
<td>foobar: <input ...></td>
</tr>
<tr>
<td>id: <input ...></td>
<td>name: <input ...></td>
<td>foobar: <input ...></td>
</tr>
<tr>
<td>id: <input ...></td>
<td>name: <input ...></td>
<td>foobar: <input ...></td>
</tr>
</table>
{% endfor %}
</form>
但是,我得到的只是表单集第一个表单的一行,其余表单只是转储字段。不知何故,{% for field in form %}
迭代不正确,我猜其余字段也被转储了:
<form>
...
<table>
<tr>
<td>id: <input ...></td>
<td>name: <input ...></td>
<td>foobar: <input ...></td>
</tr>
id: <input ...>
name: <input ...>
foobar: <input ...>
id: <input ...>
name: <input ...>
foobar: <input ...>
</table>
{% endfor %}
</form>
有什么迹象表明为什么嵌套表单/字段的自定义渲染无法按预期工作?