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

Djangoテンプレートの使い方を完全解説!初心者でもわかるタグ・フィルタ入門

Djangoテンプレートの使い方|最速で習得するタグ・フィルタ解説
Djangoテンプレートの使い方|最速で習得するタグ・フィルタ解説

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

生徒

「Djangoで画面を作るとき、HTMLはどこに書けばいいんですか?」

先生

「Djangoではテンプレートという仕組みを使って、画面表示用のHTMLを書きます。」

生徒

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

先生

「大丈夫です。HTMLに少し特別な書き方を足すだけなので、順番に見ていきましょう。」

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

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

Djangoテンプレートとは、Web画面を表示するための設計図のようなものです。普段ブラウザで見ている文字や画像、表などは、HTMLという文章で書かれています。Djangoでは、このHTMLの中に「ここにデータを表示する」という目印を書いておき、あとからPythonの処理結果をはめ込みます。これにより、同じ画面構成を使い回しながら内容だけを変えられるようになります。

たとえば、毎回同じヘッダーやメニューを書くのは大変ですが、テンプレートを使えば一度書くだけで済みます。初心者の方は「HTMLに目印を書いて、自動で文字を入れてくれる仕組み」と覚えると理解しやすいです。

2. テンプレートファイルの基本構成

2. テンプレートファイルの基本構成
2. テンプレートファイルの基本構成

Djangoのテンプレートは、通常「templates」という名前のフォルダに保存します。このフォルダ名は決まりごとなので、そのまま使うのが一般的です。中にはHTMLファイルを置きます。ファイル名は自由ですが、内容が分かる名前にすると管理しやすくなります。

テンプレートは、ビューと呼ばれるPythonの処理から指定されて表示されます。ビューが「このHTMLを使って表示して」と指示し、テンプレートが実際の画面を作ります。難しく考えず、Pythonが司令塔で、テンプレートが画面担当だとイメージしてください。

3. {{ }} を使った変数の表示

3. {{ }} を使った変数の表示
3. {{ }} を使った変数の表示

Djangoテンプレートで最もよく使うのが変数表示です。変数とは、文字や数字を一時的に入れておく箱のようなものです。テンプレートでは、二重の波かっこで囲んで表示します。


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

このように書くと、Python側で用意したnameの中身が表示されます。たとえば「太郎」という文字が入っていれば、「こんにちは、太郎さん」と画面に出ます。波かっこはDjango専用の目印なので、HTMLとは役割が違う点を覚えておきましょう。

4. ifタグで条件分岐をする

4. ifタグで条件分岐をする
4. ifタグで条件分岐をする

条件分岐とは、「もし〜なら」という判断をする仕組みです。Djangoテンプレートではifタグを使って、表示を切り替えられます。たとえば、ログインしている人だけにメッセージを出したい場合に便利です。


{% if is_login %}
<p>ログイン中です</p>
{% else %}
<p>ログインしていません</p>
{% endif %}

ここではis_loginという箱の中身を見て、正しい場合とそうでない場合で表示を変えています。文章を読むように上から順に理解すると混乱しにくいです。

5. forタグで繰り返し表示する

5. forタグで繰り返し表示する
5. forタグで繰り返し表示する

同じ形の表示を何度も行いたいときは、forタグを使います。これは「順番に取り出して表示する」仕組みです。買い物リストや名前一覧などでよく使われます。


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

itemsの中に複数の文字が入っていると、その数だけliタグが作られます。人が手で同じ行を書く代わりに、Djangoが自動で繰り返してくれると考えると分かりやすいです。

6. フィルタで表示を加工する

6. フィルタで表示を加工する
6. フィルタで表示を加工する

フィルタは、表示する直前に文字を少し加工する道具です。たとえば、大文字にしたり、長い文章を短くしたりできます。パイプ記号を使って指定します。


<p>{{ message|upper }}</p>

この例では、messageの文字をすべて大文字にして表示します。フィルタは「見た目だけを変える」と覚えておくと、Pythonの処理と混同しにくくなります。

7. テンプレートでよくある注意点

7. テンプレートでよくある注意点
7. テンプレートでよくある注意点

Djangoテンプレートでは、Pythonのコードをそのまま書くことはできません。計算や複雑な処理はビュー側で行い、テンプレートは表示に専念させます。この役割分担が、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でディレクトリ操作を完全解説!作成・削除・一覧取得の基本