カテゴリ: Django 更新日: 2026/01/24

Djangoテンプレートの変数展開まとめ|初心者向けにわかりやすく解説

Djangoテンプレートの変数展開まとめ|初心者向けにわかりやすく解説
Djangoテンプレートの変数展開まとめ|初心者向けにわかりやすく解説

先生と生徒の会話形式で理解しよう

生徒

「Djangoのテンプレートって聞いたんですけど、そもそも何をするものなんですか?」

先生

「テンプレートは、画面に表示する文章やデータの形を決める仕組みです。変数展開を使うと、プログラムの中の値を画面に表示できます。」

生徒

「変数って難しそうです…。パソコンをほとんど触ったことがなくても大丈夫ですか?」

先生

「大丈夫です。紙に名前を書いて渡すような感覚で考えると、とても分かりやすくなりますよ。」

1. Djangoテンプレートとは何か

1. Djangoテンプレートとは何か
1. Djangoテンプレートとは何か

Djangoテンプレートとは、Webページに表示する内容を作るための仕組みです。HTMLという画面用の文章の中に、Django独自の書き方を少しだけ混ぜて使います。これにより、毎回同じ文章を書く必要がなくなり、データだけを入れ替えて表示できます。

たとえば、名前や年齢をプログラム側で用意しておき、テンプレートでは「ここに名前を表示する」と指定するだけで、自動的に画面に反映されます。この仕組みが、Djangoテンプレートの基本です。

2. 変数とは何かを超かんたんに理解する

2. 変数とは何かを超かんたんに理解する
2. 変数とは何かを超かんたんに理解する

変数とは、値を入れておく箱のようなものです。紙に「名前:山田」と書いて渡すイメージに近く、箱の名前が「name」、中身が「山田」です。Djangoでは、この箱をビューと呼ばれる場所で用意し、テンプレートに渡します。

テンプレート側では、その箱の名前を指定するだけで中身を取り出して表示できます。難しい計算や操作は不要で、表示したい内容をそのまま書くだけで使えます。

3. テンプレートでの基本的な変数展開

3. テンプレートでの基本的な変数展開
3. テンプレートでの基本的な変数展開

Djangoテンプレートで変数を表示するときは、二重の波かっこを使います。この記号が「ここに値を入れてください」という合図になります。初心者の方は、記号の意味を丸暗記せず、目印だと考えると理解しやすくなります。


<p>こんにちは、{{ name }} さん</p>

この例では、nameという変数の中身が、そのまま画面に表示されます。もしnameに「佐藤」が入っていれば、「こんにちは、佐藤 さん」と表示されます。

4. 数字や文章もそのまま表示できる

4. 数字や文章もそのまま表示できる
4. 数字や文章もそのまま表示できる

変数の中身は、文字だけでなく数字も使えます。年齢や点数など、数値データも同じように表示できます。テンプレート側では特別な処理は必要ありません。


<p>あなたの年齢は {{ age }} 歳です</p>

ageに20が入っていれば、「あなたの年齢は20歳です」と表示されます。このように、変数展開は文章の一部として自然に使えます。

5. 辞書のようなデータの変数展開

5. 辞書のようなデータの変数展開
5. 辞書のようなデータの変数展開

Djangoでは、複数の情報をまとめて扱うことがあります。これを辞書のようなデータと考えると分かりやすいです。一つの箱の中に、名前やメールアドレスが入っているイメージです。


<p>名前:{{ user.name }}</p>
<p>メール:{{ user.email }}</p>

userという箱の中に、nameやemailが入っており、それぞれを指定して表示できます。ドットは「中をのぞく」という意味で覚えると理解しやすくなります。

6. ifを使った簡単な条件表示

6. ifを使った簡単な条件表示
6. ifを使った簡単な条件表示

テンプレートでは、条件によって表示を変えることもできます。ifは「もし〜なら」という意味で、日常会話とほぼ同じ感覚で使えます。年齢によって表示を変える例を見てみましょう。


{% if age >= 20 %}
<p>大人の方ですね</p>
{% else %}
<p>未成年の方ですね</p>
{% endif %}

このように、条件によって文章を切り替えられるため、画面表示を柔軟に変更できます。

7. forを使った繰り返し表示

7. forを使った繰り返し表示
7. forを使った繰り返し表示

同じ形のデータを何度も表示したいときは、forを使います。これは「順番に取り出す」という意味です。買い物リストを一つずつ読む感覚で考えると分かりやすいです。


<ul>
{% for item in items %}
    <li>{{ item }}</li>
{% endfor %}
</ul>

itemsに複数の値が入っていれば、その数だけ自動で表示されます。手作業で同じ文章を書く必要がなくなります。

8. 変数展開で気をつけたいポイント

8. 変数展開で気をつけたいポイント
8. 変数展開で気をつけたいポイント

Djangoテンプレートでは、安全性を高めるために、自動で危険な文字を変換します。そのため、基本的には安心して変数を表示できます。また、変数名は間違えると何も表示されないため、名前の一致に注意が必要です。

初心者のうちは、「表示されない=エラー」ではなく、「名前が違うかも」と考えると、落ち着いて確認できます。

カテゴリの一覧へ
新着記事
New1
Django
Djangoモデル入門|初心者が最初に知るべきORMの基本操作
New2
Python
Pythonの特殊メソッド(__str__ / __repr__ / __eq__)を便利に使う方法をやさしく解説
New3
Python
Pythonのリストとは?基本の使い方と作成・操作のやり方をやさしく解説
New4
Flask
Flaskのログをファイルに保存する方法!初心者でもわかる設定手順を徹底解説
人気記事
No.1
Java&Spring記事人気No1
Django
Djangoプロジェクトのディレクトリ構造を完全解説!初心者でも迷わないフォルダの見方
No.2
Java&Spring記事人気No2
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
No.3
Java&Spring記事人気No3
Python
Pythonで文字列を置換するには?replace()の使い方と正規表現の活用例
No.4
Java&Spring記事人気No4
Flask
FlaskアプリのSECRET_KEYの設定方法を完全ガイド!初心者でもわかるセキュリティ対策
No.5
Java&Spring記事人気No5
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本
No.6
Java&Spring記事人気No6
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.7
Java&Spring記事人気No7
Python
Pythonの文字列から一部を抽出する方法!スライスを使った基本的な切り出し方
No.8
Java&Spring記事人気No8
Python
Pythonでディレクトリ操作を完全解説!作成・削除・一覧取得の基本