teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

回答の詳細を追加

2018/09/09 10:48

投稿

Meganezaru
Meganezaru

スコア716

answer CHANGED
@@ -9,9 +9,9 @@
9
9
  Djangoでは、サーバーサイド側のバリデーションにもForm(ModelForm)が利用されます。
10
10
  (汎用ビューを利用すると、そのあたりの仕組みが見えなくてイメージしにくいですが・・・)
11
11
 
12
- サーバーサイドで、バリデーションを行う場合、Postで送られてきたデータをもとに、Form(ModelForm)インスタンスを再度生成します。これを、データが結びつけられたフォーム(bound form)と呼びます。
12
+ サーバーサイドで、バリデーションを行う場合、Postで送られてきたデータをもとに、**Form(ModelForm)インスタンスを再度生成(←イメージにくい部分です)**します。これを、データが結びつけられたフォーム(bound form)と呼びます。
13
13
 
14
- bound formの場合、Formでは、バリデーションの実行(is_valid()の実行)と、バリデーションが正常に終われば、クリーニングされたデータ(cleaned_data)を扱えますが、ModelFormでは、それに加えて、Modelに直接save()することができます。
14
+ bound formの場合、Formでは、バリデーションの実行(is_valid()の実行)と、バリデーションが正常に終われば、クリーニングされたデータ(cleaned_data)を取り出せますが、ModelFormでは、それに加えて、Modelに直接save()することができます。
15
15
 
16
16
  単一のモデルに関するFormを作るのであれば、ModelFormが便利だと思います。
17
17