• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
  • Skip to footer

AI活用エンジニアへの道

生成AI時代のエンジニアの生き方を考えるメディア(作成途中)

  • コラム
  • 生成AI
  • プログラミング
    • Python入門
    • Flask入門
    • Django入門
  • プロフィール
Home / プログラミング / Django / Djangoのテンプレートビュー(TemplateView)の利用方法まとめ

Djangoのテンプレートビュー(TemplateView)の利用方法まとめ

1 TemplateViewの基本的な使い方
2 関連記事

この記事では、テンプレートビュー(Template View)の利用方法について詳述する。

 

TemplateViewの基本的な使い方

1.TemplateViewを用いた画面表示

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

viewには簡単に、view_name=''として、表示するテンプレートのパスを設定する。
(テンプレートのパスの設定方法はこちらを参照)

  • views.py(テンプレートのパスの設定)
from django.views.generic import TemplateView

class IndexView(TemplateView):
    template_name = 'index.html'
    # template_nameに表示するテンプレートファイルのパスを指定

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

  • urls.py
from django.contrib import admin
from django.urls import path
from basic_app import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.IndexView.as_view(), name='index')
]

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

  • index.html
{% extends "base.html" %}
{% block body_block %}
<h1>Hello World! TemplateView</h1>
{% endblock %}

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

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

TemplateViewで、値をテンプレートの渡して、画面上に表示したいことがある。

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

get_context_dataはTemplateViewの継承元django.views.generic.base.ContextMixinのメソッドで、これをオーバーライドして、テンプレートを実行する前に呼び出されるようにし、変数に値を設定する。

  • views.py
from django.views.generic import TemplateView

class IndexView(TemplateView):
    template_name = 'index.html'

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        # 親のget_context_dataを呼んで値を取得
        context['injectme'] = 'Basic Injection'
        return context
        # 新たに値を追加して値を返す

urls.pyは変更せず、index.htmlの設定は以下のようにして値を取得した。

  • index.html
{% extends "base.html" %}
{% block body_block %}
    <h1>Hello World! TemplateView</h1>
    <h2>Injected Content: {{ injectme }}</h2>
    <!-- views.pyで設定した値を表示 --L
{% endblock %}

Djangoを動かして、アクセスすると以下のような画面が表示される。

関連記事

現役エンジニアがDjangoに関する本を5つ紹介
現役エンジニアがDjangoに関する本を5つ紹介
WindowsでDjango、Anaconda、VSCodeのインストールとDjangoを開発する環境の構築をする
WindowsでDjango、Anaconda、VSCode…
MacでDjango、Anaconda、VSCodeのインストールとDjangoを開発する環境の構築をする
MacでDjango、Anaconda、VSCodeのインス…
DjangoのFormに初期値を設定する方法
DjangoのFormに初期値を設定する方法
DjangoでModelのsave前後で処理を行うSignalのpre_save, post_saveの使い方
DjangoでModelのsave前後で処理を行うSigna…
DjangoのModelにSlugFieldを利用する。その利用方法と
DjangoのModelにSlugFieldを利用する。その…

Primary Sidebar

人気記事

  • 1
    PyCharm,IntelliJのおすすめプラグイン一覧
  • no image 2
    Python未経験だが、フリーランスの案件に採用さ…
  • 3
    ITエンジニアとしてスキルを高めるためのUdemy講…
  • 4
    アメリカのシリコンバレーでプログラミングを無…

特集記事

  • 1
    Cursorの使用のポイントとコツ(コード補完、イ…
  • 2
    ITエンジニアとしてスキルを高めるためのUdemy講…

目次

1 TemplateViewの基本的な使い方
2 関連記事
StartCode ロゴ
AI時代のエンジニアを最速で育てる
法人向けIT研修で即戦力を育成しています。詳しくはお問い合わせください。
▶ 詳細はこちら
Django講座
【Udemy】Django入門講座(0からDjangoを学習: Python講座つき)
受講生6500人ほどの人気講座。<strong>View, Template, Model, Cla...
詳細 ▶

Footer

利用規約