17

Django のforms.pyを見ると、フィールド エラーのスタイルを設定するas_p()が呼び出されます(ただし、その定義は見つかりません)。_html_output()self.error_class()

ただし、_html_output()スタイルは行いませんnon_field_errors(コード内の別名 top_errors)。

フィールド以外のエラーをどのようにスタイルしますか? _html_output をすべてカット アンド ペーストしますか?

Django 1.0 を使用しています。

4

4 に答える 4

27

このテンプレートを使用して、非フィールド エラーのスタイルを設定します。

{% if form.non_field_errors %}
  <div class="non-field-errors">
    {% for err in form.non_field_errors %}
      <p class="form-error">{{ err }}</p>
    {% endfor %}
  </div>
{% endif %}
于 2013-04-25T13:15:25.093 に答える
10

テンプレートでは、{{ form.non_field_errors }} にアクセスして、好きなようにレンダリングできます。たとえば、Django 管理者がそれらを処理する方法は次のとおりです

于 2009-09-02T15:52:51.607 に答える
7

オプション:

と の両方{{ form.non_field_errors }}{{ form.non_field_errors.as_ul }}同じことを行います。

{{ form.non_field_errors.as_text }}*テキストの前に を付けてエラーを表示します。

この記事は、 django チケット*が削除されない理由を説明するのにも役立ちます。

于 2013-03-16T16:28:13.027 に答える
0

テンプレート言語を複雑にすることなく実行できます。Django 3 では、non_field_errors リストに "errorlist nonfield" クラスがあるため、CSS を使用してスタイルを設定できます。

CSS ファイルで:

.errorlist.nonfield {
    color: red;
}

HTML テンプレートで:

{{ form.as_p }}
于 2022-02-06T13:35:29.193 に答える