Django

Djangoの汎用ビュー(TemplateView)を使いこなす

この記事では、汎用ビュー(クラスベースビュー)のテンプレートビューの利用方法について書いて行きたいと思います

 

TemplateViewの基本的な使い方

1.TemplateViewを用いた画面表示

まず、TemplateViewを使用して、画面を表示する方法について記載したいと思います。

viewには簡単に、view_name=”として、表示するテンプレートのパスを設定します。

(テンプレートのパスの設定方法はこちらを参照)

  • views.py

次に、urls.pyの設定を行います。urls.pyの設定はシンプルにクラス名.as_view()とします。

  • urls.py

テンプレートファイルは以下のように記述しました。

  • index.html

Djangoを立ち上げて画面を表示すると以下のように表示されます。

2.TemplateViewでの値の引き渡し(get_context_data)

TemplateViewで、値を設定して画面上に表示したいことがあります。

このような場合、一般的にget_context_data関数を利用します。

get_context_dataはTemplateViewの継承元django.views.generic.base.ContextMixinのメソッドで、これをオーバーライドします。

  • views.py

urls.pyは設定を変えなくてよいです。index.htmlの設定は以下のようにします。

  • index.html

Djangoを動かして、アクセスすると以下のような画面になります。

TemplateViewの応用的な使い方