では、続いてビュー関数を修正しましょう。「hello」内の
views.pyを開き、そこに記述してある
index関数を下のリスト欄のように書き換えて下さい。
今回は、まず
contextという辞書を用意しています。ここには、
'msg' というキーの値が用意されていますね。
この辞書は、テンプレート側に渡す各種の値を設定するものです。先ほど、index.htmlの中に以下のような分を記述してあったのを思い出して下さい。
<p>{{msg}}</p>
この
{{msg}} というのが、
contextリスト内に用意した
'msg' の値です。テンプレートでは、このように、ビュー関数側から渡された値を
{{ 値名 }} というように記述して出力させることができるのです。
テンプレートに渡す辞書を用意したら、以下のようにしてテンプレートをレンダリングしています。
return render(request, 'hello/index.html', context)
renderというのは、先に
HttpResponseインスタンスを作成して返したもののショートカット関数です。テンプレートを利用する場合、テンプレートファイルをロードし、それをレンダリングした結果を
HttpResponseに設定する、といった作業をしないといけません。そこで、それらを自動で行ってくれる関数を用意してあるのですね。
この
render関数は、以下のように呼び出します。
render( [HttpRequest] , テンプレート名 , 辞書 )
第1引数は、この関数に渡されている
HttpRequestをそのまま渡します。第2引数に、使用する
テンプレート名を指定します。これは、「templates」フォルダ内のパスとして記述して下さい。ここでは「hello」フォルダ内にindex.htmlという名前で用意してあるので、
'hello/index.html' となります。第3引数には、テンプレート側に渡す値をまとめた辞書(ここでは、
context)を指定します。