この記事では、テンプレートに値を渡す方法について解説します。
[toc]
アプリケーションの登録
テンプレートを使うためには、プロジェクトの中にhelloアプリケーションを追加する必要があります。
settings.py
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'hello', # ここに追加しました ]
テンプレートファイルを作る
テンプレートファイルを作成しましょう。
「django_app」→「hello」→「templates」→「hello」になるように、helloの下にtemplatesフォルダとhelloフォルダを作成します。
その下に以下のファイルを作成します。
django_app/hello/templates/hello/index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{{ title }}</title> </head> <body> <h1>{{ title }}</h1> <p>{{ msg }}</p> </body> </html>
urls.pyの修正
http://〇〇/hello/にアクセスがあったら、views.pyのindex関数が呼ばれるようにします。
urls.pyは2つあり、アプリ内にあるurls.pyとプロジェクトのurls.pyがあります。

プロジェクトのurls.py
全体をまとめるプロジェクトのurls.pyです。
この中で、URLごとにどのアプリに処理を渡すか決めます。
http://〇〇/hello/にアクセスがあったらhelloアプリに処理をお願いするようにします。
/django_app/urls.py
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('hello/', include('hello.urls')) ]
アプリのurls.py
http://〇〇/hello/のアドレスの後に続くアドレスを指定します。ここでは空の文字列を指定しています。
views.pyの中のindex関数を実行するようにしています。
/hello/urls.py
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index') ]
ビューの修正
paramsというPythonの辞書を作り、titleとmsgの内容を記載します。
views.py
from django.shortcuts import render from django.http import HttpResponse def index(request): params = { 'title' : 'Hello/Index', 'msg' : 'これは、サンプルで作ってみたページでござる。' } return render(request, 'hello/index.html', params)
renderはテンプレートをレンダリングするための関数です。
実行結果

うまくいくと、こんな感じで表示されます。
以上です。お疲れ様でした。