0

私は MVC アーキテクチャの初心者です。フォームとは何か、正確には何をするのか、モデルとどのように関係しているのか、誰か教えてください。django のドキュメントによると、forms は多くの一般的なフォーム関連のタスクを処理します。それらのタスクは何ですか?フォームは登録時に頻繁に言及されますが、フォームは単独で使用されるのでしょうか? フォームは Model フィールドの POST リクエストとして使用されるだけですか? その場合、モデルフォーム/フォームでは、既存のモデルに関連しないフィールドを持つことはできませんか?

ありがとうございました!

4

1 に答える 1

2

概念的には、フォームは HTML にデータを入力してアプリケーションのどこか (ビュー) でデータを使用するためのハンドラーとして機能します。

Django でのフォームの一般的な用途は 2 つあります。モデル (データベースで定義されたデータ) を操作するため、または何らかのタスク (電子メールの送信など - 必ずしも必要ではない場合) を達成するためです。関連モデル)。

フォームは、これら両方の機能のために多くのことを行います。これらは、モジュール性、拡張性、および管理の容易さ (Python で簡単に定義、交換、継承などを行うことができるため) から、検証 (大物の 1 つ) にまで及びます。検証は非常に重要です。これはおそらく、登録に関して言及しているものです。Django Forms は、Form クラスで定義された定義に対して検証するか、ModelForm などを使用している場合は検証コードを継承します。ModelForm の場合、フォームは、モデル フィールドに割り当てた属性に基づいて検証します (つまり、整数フィールドに文字列が入力されていないこと)。

前述の 2 つの一般的な使用法を考慮して、ドキュメントの関連リンクを確認する必要があります。

https://docs.djangoproject.com/en/dev/topics/forms/ https://docs.djangoproject.com/en/dev/topics/forms/modelforms/

あなたの他の質問のいくつかに答えるために。ModelForms のモデルに関連付けられていないフィールドを持つことができますが、ビューで適切に処理する必要があります。また、必ずしもすべてのモデル フィールドをフォームに入力できるようにする必要はありません (クラス Meta で除外を使用)。

于 2013-06-21T20:24:25.597 に答える