Web

Python:Django ~Templateを呼び出す~

スポンサーリンク

はじめに

前回はApplicationを作成して、ProjectにApplicationを認識させ、Application内のurlsを設定することで、「リクエスト情報」があったときにViewを呼び出すようにしました。但し、ViewはTemplateを呼び出さずに、直接文字列を「レスポンス情報」として返しました。今回は、ViewからTemplatesを呼び出す方法を学びます。
 ViewからTemplateを呼びだす設定を次のステップで進めましょう。

  • Templateを呼び出す設定をする
  • Templateを作成する

ViewからTemplateを呼び出す

ViewからTemplateを呼ぶには、Applicationのview.pyを編集します。ここでは、start/view.pyにcall_template関数を追記しましょう。

def call_template(request):
    template_name = "start.html"
    context = {}
    return render(request, template_name, context)

template_nameは、Templateの名前を宣言しています。contextは、Templateに渡すパラメータです。パラメータは辞書型で渡します。次に、url.pyでcall_templateを呼び出す設定をします。urls.pyのurlpatternsを編集します。

urlpatterns = [
    path('', views.index, name='start_django'),
    path('test/temp/', views.call_template, name='call_template'),
]

これは、startというApplicationが呼び出されたあとに、URLにtest/tempという文字列が見つかったら、call_templateという関数が呼び出される設定です。では、次に実際に呼び出されるHTMLを作成しましょう。

Templateを作成する

ここでは、startフォルダの配下にtemplatesフォルダを作り、そこにstart.htmlを作ります。今回はstart.htmlは次のようにしてみましょう。

<!DOCTYPE html>
<html lang="jp">
<head>
    <meta charset="UTF-8">
    <title>スタートページです</title>
</head>
<body>
<h1>今度はテンプレートを呼び出して表示しています。</h1>
<p>テンプレートを呼び出すことで、あらかじめ定義した書式を呼び出すことができます。</p>
</body>
</html>

これでTemplateの作成ができました。

スポンサーリンク

まとめ

最後にうまくできているか確認しましょう。サーバーを起動して、http://127.0.0.1:8000/start/test/temp/ にアクセスしてみましょう。先ほど作成してstart.htmlが表示されれば、成功です。

 

コメント

タイトルとURLをコピーしました