在formset中手动显示表单

时间:2013-04-27 21:53:37

标签: python django

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

喜欢能够执行{{formset.form1}}之类的操作并显示第一个表单。 我该怎么做?

2 个答案:

答案 0 :(得分:0)

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

{{ formset|first }}

Django模板被设计精心设计,您可能需要检查Jinja2。在金贾,你应该写:

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

由于Django缺少get_item过滤器,您可以write a custom filter like this

@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 }}

答案 1 :(得分:0)

您可以遍历formset以获取单个表单,并使用这些表单执行任何操作。

{% for form in formset %}
    {{form.title.errors}}
    {{form.title.label}}
    {{form.title}}
{% endfor %}