在formset中访问特定表单而不对索引进行硬编码

时间:2013-10-03 15:55:56

标签: django formset inline-formset

有没有办法在模板中从内联formset访问特定表单,而无需对索引进行硬编码? 我知道迭代一个formset的常用方法是执行类似的操作:

{% for form in formset %}
    {{ form }}
{% endfor %}

但是由于模板上的一些细节(我有多个formset,应该在一个表上并排显示在另一个for内),如果我可以通过其索引访问每个表单会更好。我可以通过硬编码索引来完成这项工作,比如{{ formset.0 }},但由于我在模板中进行迭代,理想的是通过forloop.counter获取表单,这样我就可以做类似

{% for field in fields %}
<tr>
    <td>{{ field }}</td>
    <td>{{ formset1.[forloop.counter0] }}</td>
    <td>{{ formset2.[forloop.counter0] }}</td>
</tr>
{% endfor %}

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:5)

模板内部无法进行自定义索引。

您可以通过创建自己的过滤器来获得相同的结果。请参阅以下代码段:

http://djangosnippets.org/snippets/2740/