はじめに
ここでは、djangoのHTMLテンプレートファイルの作成方法について解説します。
モデルとしては、前の記事に書いているSampleModel
を利用するものとします。
HTMLファイルにおける変数、関数の埋め込み
HTMLファイル内で、{{ 変数名 }}
とすると、views.py
から渡された変数をHTMLファイル内に埋め込むことができます。
また、{% 関数名 引数1 引数2 ... %}
とすることで、関数を用いて表示内容を制御することもできます。
レコード一覧の表示
クラスベースビューの場合、表示するレコード一覧がモデル名_list
としてテンプレートに渡されます。
このレコード一覧を{% for %}
を用いて一つずつ取り出して、表示します。
関数ベースビューの場合も同様に、モデルのレコード一覧をcontext
としてHTMLファイルに渡すようにすると良いでしょう。
app/samplemodel_list.html
{% for sample in samplemodel_list %}
<h1>{{ sample.char_sample }}</h1>
<p>{{ sample.text_sample }}</p>
{% endfor %}
個々のレコードの表示
クラスベースビューの場合、個々のレコードはモデル名
としてテンプレートに渡されます。
app/samplemodel_detail.html
<h1>{{ samplemodel.char_sample }}</h1>
<p>{{ samplemodel.text_sample }}</p>
まとめ
ここでは、djangoのHTMLテンプレート作成の基本について解説しました。
次回は、テンプレートの継承やカスタムタグの作成について取り上げる予定です。