0

我想在表单集中手动显示表单。

比如能够做类似 {{ formset.form1 }} 的事情并显示第一个表单。我怎么做?

4

2 回答 2

0

您可以遍历表单集以获取单个表单,并对这些表单执行任何您想要的操作。

{% for form in formset %}
    {{form.title.errors}}
    {{form.title.label}}
    {{form.title}}
{% endfor %}
于 2013-04-28T03:20:32.293 回答
0

对于表单集中的第一个表单,您可以尝试内置过滤器first

{{ formset|first }}

Django 模板在设计上受到严重限制,您可能需要检查Jinja2。在 Jinja 中,您应该能够编写:

{{ formset[0] }} {{ formset[3] }}

由于 Django 缺少get_item过滤器,您可以像这样编写自定义过滤器

@register.filter
def get_item(ob, key):
    try:
        return ob[key]
    except (TypeError, ValueError, KeyError, IndexError):
        return None

使用此过滤器,您应该能够编写:

{{ formset|get_item:0 }} {{ formset|get_item:3 }}
于 2013-04-27T22:40:04.927 回答