フォームの機能
- HTMLフォーム要素を自動生成
- フォームデータの合法性を確認する
- 検証エラーが発生した場合はフォームを再表示します(データはリセットされません)
- データ型変換(文字型データを対応するPython型に変換)
フォーム関連オブジェクトには
が含まれます
- ウィジェット: HTML 要素をレンダリングするために使用されるツール。たとえば、forms.Textarea は HTML の
フィールド: Form オブジェクト内のフィールド。次のようなもの: EmailField は電子メール フィールドを表します。このフィールドが有効な電子メール形式でない場合、エラーが発生します。 -
Form: HTML 要素の検証と表示を担当する Field オブジェクトのコレクション-
フォームメディア: フォームのレンダリングに使用される CSS および JavaScript リソース。 -
フォームオブジェクト
Form オブジェクトは、一連の Field および検証ルールをカプセル化します。Form クラスは、django.forms.Form を直接または間接的に継承する必要があります。Form を定義するには、次の 2 つの方法があります。
方法 1: フォームを直接継承する
リーリー
方法2: Modelと結合してdjango.forms.ModelFormを継承する
リーリー
ビューでフォームを使用する
ビュー関数でフォームを使用する一般的なシナリオは次のとおりです:
view.py:
リーリー
contact.html:
リーリー
フォームデータを処理する
form.is_valid() が true を返した後、フォーム データは form.cleaned_data オブジェクト (辞書型、クリーンなデータを意味します) に保存され、データは次のような Python オブジェクトに自動的に変換されます。 、その後、フィールドは日時型に変換されるだけでなく、IntegerField、FloatField にも変換されます
リーリー
これらはフォームの簡単な使用方法です。 もう一つ:
テンプレートでフォームを表示するいくつかの方法:
フォームとテンプレートを表示するにはさまざまな方法があり、カスタマイズすることもできます:
リーリー
form.as_table と form.as_ul を使用することもできます。これらは、それぞれ
タグ、
タグ、および を使用して表示フォームを指定することを示します。カスタマイズしたい場合は、各要素の値を取得するだけです:
リーリー
各フォームフィールドは、{{form.name_of_field}} を使用して取得できます。
フォームを反復することもできます。各反復要素はフォーム内のフィールドに対応します。
リーリー
{{field}} には次の属性があります:
リーリー
例: フォームの構築
ステップ 1: まず、models.py でフォーム モデルを定義します
リーリー
そのトピックの選択肢では、models.py で配列を定義する必要があります。
リーリー
このようにHTMLで表示されるフォームはこのモデルのデータを利用することになります。
フォーム モデルを定義する別の方法として、別のモデルを直接継承する方法があります。モデルでデータベースを設計するときに、すでにクラス (つまり、データベース テーブル) を設計しており、このクラスの情報をフォーム モデルとして再利用したい場合、それは非常に簡単で、次のクラスでもあります。モデル
リーリー
そのタイプは、データベース ORM に使用される models.Model であることに注意してください。
それではどうやって関わるの?
新しいクラス(ModelForm)をインポートする必要があります
リーリー
ここの広告は以前の ORM のモデルです。
ステップ 2: OK、フォームを続けましょう。次に何をすべきでしょうか? views.py でフォームへの呼び出しの記述を開始します
デフォルトの発言(リクエスト):
リーリー
コード全体は非常にシンプルなので、あまり説明しません。
ステップ 3: django のアクセスは urls.py を通じて管理されることがわかっています。したがって、以下ではパスを設定する必要があります。
リーリー
ステップ 4: 最後にテンプレートを作成します。最終的には HTML に出力するため、ビューのリマーク関数の最後の行に注目してください。
リーリー
現在のフォームオブジェクトをmessage.htmlに出力し、フォームを自動生成するということです。
したがって、まず HTML を構築します。
このHTMLテンプレートは、不要なCSSを省き、コア部分のみを提供します。
リーリー
リーリー
は、フォーム オブジェクト内の要素を走査し、 を渡すために使用されます。
リーリー
これらの 3 つのタグは、デフォルトでは出力されないことに注意してください。内容はフォームの正当性が検証された場合にのみ出力されます。
ついに合格しました:
この例にアクセスするには http://youdjangourl/message
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31