django - 访问表单集中的特定表单,无需对索引进行硬编码

标签 django formset inline-formset

是否有一种方法可以从模板中的内联表单集访问特定表单,而无需对索引进行硬编码? 我知道迭代表单集的常用方法是执行以下操作:

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

但是由于模板上的一些细节(我有多个表单集,应该并排显示在表格上,在另一个 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 %}

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

最佳答案

模板内无法自定义索引。

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

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

关于django - 访问表单集中的特定表单,无需对索引进行硬编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19163732/

相关文章:

django - 如何访问 Django 的 field.choices?

python - 编辑ModelFormSet中的相关对象

django - 覆盖 InlineFormset_factory 中的 FileField 小部件?

python - Django 内联表单集将始终创建新对象而不是更新它们

django - 单元测试 django 内联表单集

django - 我应该使用 request.POST 或 form.cleaned_data 中的文本吗

python-social-auth - 我怎么能在 Django 中断开连接?

Django:如何在内联表单集中显示每个模型对象的表单错误

django - 如何检测模板中的表单集是否有任何错误?

jquery - 将 django-dynamic-formset 与来自 d​​jango-extra-views 的 CreateWithInlinesView 一起使用 - 多个表单集