[解決済み] Django Forms: 有効でない場合、エラーメッセージとともにフォームを表示する
2022-06-03 13:35:05
質問
Django のフォームでは、フォームが有効であるかどうかをチェックすることができます。
if form.is_valid():
return HttpResponseRedirect('/thanks/')
しかし、私はそれが有効でない場合、何をすべきかを見逃していますか?エラーメッセージとともにフォームを返すにはどうしたらいいのでしょうか?どの例にも"else"は見当たりません。
どのように解決するのですか?
フォームが有効でないときに同じビューを表示する場合、テンプレートでは次のようになります。
を使用してフォームエラーにアクセスします。
form.errors
.
{% if form.errors %}
{% for field in form %}
{% for error in field.errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% endfor %}
{% for error in form.non_field_errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% endif %}
一例です。
def myView(request):
form = myForm(request.POST or None, request.FILES or None)
if request.method == 'POST':
if form.is_valid():
return HttpResponseRedirect('/thanks/')
return render(request, 'my_template.html', {'form': form})
関連
-
[解決済み】django MultiValueDictKeyErrorのエラー、どう対処すればいい?
-
6.5、Django - モデルでJSONFieldを使用してJSONフィールドでMySQLテーブルを作成する
-
[解決済み] pipと要件ファイルを使って、特定のパッケージをアップグレードするにはどうすればよいですか?
-
[解決済み】Djangoで1ページで複数のフォームを扱う適切な方法
-
[解決済み】AjaxのPOSTリクエストでDjangoのCSRFチェックが失敗する件
-
[解決済み] Django REST フレームワーク: 非モデルシリアライザー
-
[解決済み] Django Southを使用して移行履歴をリセットするための推奨される方法は何ですか?
-
[解決済み] Docker-Compose使用時にDjangoデータベースのマイグレーションをどのように行うか?
-
[解決済み] django のテンプレートで最初の文字を大文字にする
-
[解決済み] Django の Forms のテストはどのように書くべきですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] NoReverseMatchエラーとは何ですか、またどのように修正しますか?
-
[解決済み] Django の管理者パスワードをリセットする方法は?
-
[解決済み] django の OneToOneField と ForeignKey の違いは何ですか?
-
[解決済み] Django South - テーブルはすでに存在する
-
[解決済み] Djangoテンプレート内でコレクションのサイズを確認するにはどうすればよいですか?
-
[解決済み] django-tastypie と djangorestframework の違いは何ですか?[クローズド]
-
[解決済み] Djangoテンプレートでネストされたforループで一番外側のforloop.counterにアクセスする方法は?
-
[解決済み] Djangoで異なる設定でUnitテストを行うには?
-
[解決済み] DjangoでSELECT COUNT(*) GROUP BYとORDER BYを行うにはどうすればよいですか?
-
[解決済み] django のモデルのクラス名を取得する