0

この質問は、私が投稿した質問と、ここで受け取った回答のフォローアップです: How to change the layout for templates in a Django Form-Wizard?

4 ステップのフォーム ウィザードを作成しました。各フォームに対応する 4 つのカスタム テンプレートを接続しました。このような各テンプレートは、form_base.html という名前のテンプレートを拡張します。

これらの各フォームのレイアウトをカスタマイズしたいと考えています。そのため、フォーム要素を個別に操作する必要があります。最初のフォームの要素の 1 つは、"comment1" という名前です。したがって、テンプレートには次のものがあります。

<table>
    <tr>
        <th align="right">
            Comment #1
        </th>
        <td>
            {{ wizard.form.comment1 }}
        </td>
    </tr>
</table>

これは部分的に機能します。ユーザーがそのフィールドに有効なエントリを入力すると、正常に機能します。ただし、ユーザーが無効なデータを入力した場合、エラー メッセージは表示されません。エラーメッセージを正しく表示するにはどうすればよいですか?

4

1 に答える 1

1

ドキュメントはこれを徹底的に調べます(https://docs.djangoproject.com/en/dev/topics/forms/?from=olddocs#customizing-the-form-template)。フォームとフィールドからそれぞれ直接アクセスすることにより、フォームエラーとフィールドエラーにアクセスして表示できます。これが例です。

{{ wizard.form.non_field_errors }}
<table>
    <tr>
        <th align="right">
            Comment #1
        </th>
        <td>
            {{ wizard.form.comment1 }}
        </td>
        {% if wizard.form.comment1.errors %}
        <td>{{ wizard.form.comment1.errors }}</td>
        {% endif %}
    </tr>
</table>
于 2013-02-04T14:17:37.990 に答える