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

Djangoテンプレートタグ完全リスト|if・for・extends・includeの基礎を超初心者向けに解説

Djangoテンプレートタグ完全リスト|if・for・extends・includeの基礎
Djangoテンプレートタグ完全リスト|if・for・extends・includeの基礎

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

生徒

「Djangoのテンプレートって、HTMLと何が違うんですか?」

先生

「HTMLに“条件分岐”や“くり返し”を追加できる仕組みだと考えると分かりやすいですよ。」

生徒

「プログラミングをしたことがなくても使えますか?」

先生

「大丈夫です。Djangoテンプレートタグは、人間の言葉に近い書き方なので、順番に覚えれば理解できます。」

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

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

Djangoテンプレートとは、Webページの見た目を作るための仕組みです。普通のHTMLは文字を書くだけですが、Djangoテンプレートを使うと「条件によって表示を変える」「同じ形を何度も表示する」といったことができます。

たとえるなら、白紙のチラシがHTML、名前や日付を差し替えられるひな形がDjangoテンプレートです。このひな形を使うことで、毎回同じ作業をしなくて済みます。

2. テンプレートタグの基本ルール

2. テンプレートタグの基本ルール
2. テンプレートタグの基本ルール

Djangoテンプレートタグは、HTMLの中に特別な記号で書きます。主に {% %} という形で囲みます。この中に「もし〜なら」「くり返す」といった命令を書きます。

難しい言葉で言うと制御構文ですが、意味は「表示のルール」です。ページの表示をどうするかを決めるルールだと覚えてください。

3. ifタグ|条件によって表示を変える

3. ifタグ|条件によって表示を変える
3. ifタグ|条件によって表示を変える

ifタグは「もし〜だったら表示する」という条件分岐です。年齢やログイン状態などによって、表示内容を変えたいときに使います。


{% if age >= 20 %}
<p>大人向けコンテンツです。</p>
{% else %}
<p>未成年の方は閲覧できません。</p>
{% endif %}

これは「年齢が20以上なら上の文章、そうでなければ下の文章を表示する」という意味です。日常会話の「もし雨なら傘を持つ」と同じ感覚で考えられます。

4. forタグ|同じ表示をくり返す

4. forタグ|同じ表示をくり返す
4. forタグ|同じ表示をくり返す

forタグは、同じ形のデータを順番に表示したいときに使います。例えば、買い物リストや名前一覧などです。


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

これは「itemsの中身を一つずつ取り出して表示する」という意味です。紙に書いた名簿を上から順に読むようなイメージです。

5. extendsタグ|共通レイアウトを使い回す

5. extendsタグ|共通レイアウトを使い回す
5. extendsタグ|共通レイアウトを使い回す

extendsタグは、ページの共通部分をまとめるための仕組みです。ヘッダーやフッターを毎回書くのは大変なので、土台となるテンプレートを作ります。


{% extends "base.html" %}

{% block content %}
<p>ここにページごとの内容を書きます。</p>
{% endblock %}

これは「base.htmlを土台にして、この部分だけ差し替える」という意味です。家の間取りは同じで、家具だけ変えるような感覚です。

6. includeタグ|部品を読み込む

6. includeタグ|部品を読み込む
6. includeタグ|部品を読み込む

includeタグは、小さな部品を読み込むためのタグです。メニューや注意書きなど、あちこちで使う部分に向いています。


{% include "parts/menu.html" %}

これは「ここにmenu.htmlの内容を表示する」という意味です。コピーして貼り付ける代わりに、自動で読み込むイメージです。

7. テンプレート変数の表示方法

7. テンプレート変数の表示方法
7. テンプレート変数の表示方法

Djangoでは、ビューから渡されたデータをテンプレートで表示できます。そのときに使うのが {{ }} です。


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

これは「user_nameの中身をここに表示する」という意味です。名前を書き込む欄が自動で埋まると考えると理解しやすいです。

8. Djangoテンプレートタグを使うメリット

8. Djangoテンプレートタグを使うメリット
8. Djangoテンプレートタグを使うメリット

Djangoテンプレートタグを使うことで、HTMLが整理され、修正が簡単になります。また、プログラムの処理と見た目を分けられるため、初心者でも混乱しにくくなります。

特にif・for・extends・includeは、Djangoテンプレートの基本中の基本です。これらを理解するだけで、多くのWebページが作れるようになります。

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