私のテンプレートには、HTML以外のバージョンのフォームのエラーを取得したいと思います。djangoフォームエラーです。 htmlタグなしでエラーを取得する
デフォルトでは、エラーは回避したい<ul class="errorlist">
で終了します。
とにかく大規模なコードを変更する必要はありませんか?フォームドキュメントのセクションで
私のテンプレートには、HTML以外のバージョンのフォームのエラーを取得したいと思います。djangoフォームエラーです。 htmlタグなしでエラーを取得する
デフォルトでは、エラーは回避したい<ul class="errorlist">
で終了します。
とにかく大規模なコードを変更する必要はありませんか?フォームドキュメントのセクションで
This sectionは、すべての詳細、すなわち、このスニペットを持っています
{% if form.subject.errors %}
<ol>
{% for error in form.subject.errors %}
<li><strong>{{ error|escape }}</strong></li>
{% endfor %}
</ol>
{% endif %}
テンプレートにフォームクラスを呼び出す何でform
を交換してください。この例では、subject
はフォーム内のフィールドです。あなたはすべてのエラーを要約するために、別のセクションを持つようにしたい場合は、フィールドを通じて単にループ:
{% if form.errors %}
{% for field in form %}
{% for error in field.errors %}
{{ error|escape }}
{% endfor %}
{% endfor %}
{% endif %}
も、この問題を解決することは有用であろうジャンゴ1.7で2つの新しいメソッドがあります。
>>> f.errors.as_data()
{'sender': [ValidationError(['Enter a valid email address.'])],
'subject': [ValidationError(['This field is required.'])]}
>>> f.errors.as_json()
{"sender": [{"message": "Enter a valid email address.", "code": "invalid"}],
"subject": [{"message": "This field is required.", "code": "required"}]}
特定のフィールドのエラーにアクセスするには、form.field_name.errors
を使用します。ここで、「field_name」はエラーを生成するフィールドの名前です。
フィールドに複数のエラーが生成された場合に備えて、forループを使用するのは依然として有効です。
原油例:
{% for error in form.email.errors %}
<label>{{ error|escape }} </label>
{% endfor %}
<br>
<label>Email: </label>{{ form.email }}
いくつかのエラーは、例えば、2つのパスワードフィールドが一致しない場合に発生するエラー特定の分野に特に関連しないかもしれません。それらは次のようにアクセス可能である必要があります。
{{ form.non_field_errors }}
コードの入力があります。 {%if form.error%} - > {%if form.errors%} – aabele