0

フォームセットにフォームを手動で表示したいと思います。

{{ formset.form1 }} のようなことを実行して、最初のフォームを表示することができます。それ、どうやったら出来るの?

4

2 に答える 2

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 に答える
0

フォームセットをループして個々のフォームを取得し、これらのフォームで好きなことを行うことができます。

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