代码之家  ›  专栏  ›  技术社区  ›  Thiago

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

  •  2
  • Thiago  · 技术社区  · 11 年前

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

    {% 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 %}
    

    有办法做到这一点吗?

    1 回复  |  直到 11 年前
        1
  •  5
  •   mariodev    11 年前

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

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

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