View

フレームワークの概要の章で整理したように、DjangoはMVTというコンセプトで動作している。Viewはその名前の通り、表示部分の処理を担っている。

Viewでやるべき処理とはなんだろうか。

Modelではシステムで取り扱うべきデータの定義がされている。 Templateでは、ブラウザでどう表示させるかをHTML/CSSやjsで定義している。 そして、URLConf(urls.py)ではユーザからの指示に対するルーティングの定義が行われている。

つまり、Viewの役割は簡単にいうと以下のような「橋渡し」である。

  • 指定されたURLと、読み出されるべきテンプレートとの橋渡し

  • テンプレートで使用されるデータと、データが定義されているModelとの橋渡し

そして、Webアプリケーションでは、橋渡しの仕方にある一定のパターンがある。 基本的には以下のような処理そのものか、その応用がほとんどだ。

  • 保存済みデータの一覧を取得・表示

  • 保存済みデータの詳細を取得・表示

  • データを作成・更新・削除するためのフォーム の項目取得・表示

Djangoではこういった汎用的な処理を効率化するために、いくつかの基本的なView classが用意されている。それらは、generic(生成的な)viewと呼ばれている。

関数ベースでビューを生成していくことも可能だが、まずは汎用的なClass Base Viewを使っていく。

最終更新

役に立ちましたか?