0

ほとんどの MVC/ORM タイプのシステムでは、django の views.py はコントローラーと呼ばれ、そのテンプレートはビューと呼ばれます。これは、彼らが従っている別の設計パターンですか? なぜviews.pyと呼ばれるのですか?

4

1 に答える 1

4

この質問はFAQで回答されています。

Django は MVC フレームワークのように見えますが、コントローラーを「ビュー」、ビューを「テンプレート」と呼んでいます。なぜ標準的な名前を使用しないのですか?

まあ、標準的な名前は議論の余地があります。

MVC の解釈では、「ビュー」はユーザーに提示されるデータを表します。それは必ずしもデータがどのように見えるかではなく、どのデータが表示されるかです。ビューは、どのようにデータを表示するかではなく、どのデータを表示するかを説明します。微妙な違いです。

したがって、この場合、「ビュー」は特定の URL の Python コールバック関数です。これは、そのコールバック関数がどのデータが表示されるかを記述するためです。

さらに、プレゼンテーションからコンテンツを分離することは理にかなっています。ここでテンプレートが登場します。Django では、「ビュー」はどのデータが表示されるかを記述しますが、ビューは通常、データがどのように表示されるかを記述するテンプレートに委譲します。

では、「コントローラー」はどこに収まるのでしょうか。Django の場合、それはおそらくフレームワークそのものです。つまり、Django の URL 構成に従って、適切なビューにリクエストを送信する機械です。

頭字語に飢えているなら、Django は「MTV」フレームワーク、つまり「モデル」、「テンプレート」、「ビュー」であると言うかもしれません。その内訳ははるかに理にかなっています。

もちろん、結局のところ、それは物事を成し遂げることに帰着します。そして、名前の付け方に関係なく、Django は私たちにとって最も論理的な方法で処理を実行します。

于 2012-11-01T16:45:20.277 に答える