1

djangoでモデルフォームを使用してUIを高速化する機能が本当に気に入っています。IE:

<html>
    ...
    {{ myform }}
    ...
</html>

ただし、作成する必要のあるHTML出力は、デフォルトで作成されるものと一致しません。必要なHTML出力を変更できませんが、フォームの出力を変更したいと思います。

そうするためのいくつかのアプローチがあることを私は知っています。フィールドをループして各フィールドを個別に表示する(つまり、ループして表示する{{ myform.field }})ことは問題ありませんが、単に実行するほど良くはありません{{ myform }}。ウィジェットは良いアイデアのように見えましたが、ドキュメントといくつかの例を見た後、私はよくわかりません-機能ではなく、html出力を変更したいだけです。おそらくテンプレートに基づいてフィールドを出力する方法があれば、それは素晴らしいことです。

何か案は?

4

1 に答える 1

3

私は通常、includeタグを使用します。カスタムテンプレート(form_snippet.html)を作成します。

議論のために、form_snippet.htmlがフォームを出力するとします。

<!-- Form snippet -->
{{ form }}

次に、そのフォームテンプレートを他のテンプレートで使用する場合は、次を使用する必要があります。

{% include 'form_snippet.html' with form=myform %}

フィールドをループして、カスタムマークアップを追加するだけです。

于 2012-08-09T02:47:32.687 に答える