Hello World.
ごきげんよう!LiSMOtechの久津間です。
今回紹介するのはDjangoの開発でよく使われるTemplateView(テンプレートビュー)についてです。
こちらの記事を読むことでTemplateView(テンプレートビュー)を用いた開発基礎が付くため、しっかりとマスターしましょう。
また、こちらに関連記事を記載しておきます。併せて確認してください。
TemplateViewはクラスベース汎用ビューであり、ページを生成するのに必要な機能が提供されている便利なクラスビューです。
シンプルに扱うことができる上、様々な機能を実装することが可能です。
WEBアプリケーションを開発していくと比較的頻度高く使うことになると思います。
クラスベース汎用ビューを使う場合、ブラウザからGETなどで使われるページは主にTemplateView(テンプレートビュー)を利用します。
テンプレートを画面表示するのは勿論ですが、データベースから取得したデータを表示することも可能です。
TemplateViewはテンプレート名を指定して利用します。
以下の例ではindex.htmlのテンプレートを指定しています。
・view.py
from django.views.generic import TemplateView
# Create your views here.
class Index(TemplateView):
template_name = "index.html"
TemplateViewをインポートし、クラスを作成します。
template_nameには作成するテンプレートファイル名を指定します。
・urls.py
from django.urls import URLPattern, path
from . import views
urlpatterns = [
path('', views.Index.as_view(), name='index')
]
・templates/index.html
・表示結果
続いては、テンプレートファイルに変数を渡して表示をさせていきます。
・view.py
from django.views.generic import TemplateView
# Create your views here.
class Index(TemplateView):
template_name = "index.html"
# 追加
def get_context_data(self,**kwargs):
context = super().get_context_data(**kwargs)
context["m_txt"] = "DjangoのTemplateView(テンプレートビュー)開発基礎"
context["s_txt"] = "LiSMOtech株式会社"
return context
クラスベース汎用ビューが持つメソッド「get_context_data」を使用することで、テンプレートに渡す変数を扱うことができます。
また、上記の例では複数の変数を扱っています。
・templates/index.html
変数を利用する際は、{{変数名}}で利用することが可能です。
・結果
今回の記事ではDjangoのクラスベース汎用ビューの中でも利用シーンが多いTemplateViewについてご紹介させていただきました。
TemplateViewを使えるようになることで、開発の幅が広がるのかと思います。
是非この機会にしっかりとマスターしておきましょう。
NEXTGATE LiSMOtechでは中小企業を中心にブランディング・WEBマーケティングを活用したWEB戦略を提供しています。
企業課題・問題に関するご相談、WEBサイト制作やグラフィックデザイン制作のクリエイティブに関するご相談やご質問、お見積りなどお気軽にお問い合わせください。
平日10:00〜19:00
© NEXTGATE LiSMOtech All rights reserved