カテゴリ: 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
Flask
FlaskでPOSTリクエストを受け取る方法!初心者でもわかるJSONデータの受け取り方
New2
Python
Pythonでセットを活用してデータをフィルタリングする方法!初心者でもわかるセットの基本と使い方
New3
Python
PythonでSQLのLIKE・BETWEEN・INなどの演算子を活用する方法|初心者向け完全ガイド
New4
Flask
Flaskアプリの作り方を基礎から学ぼう!初心者が覚えるべき開発の流れとは?
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでトランザクション処理を実装する方法を完全解説!commit・rollbackで安全なSQL操作
No.2
Java&Spring記事人気No2
Flask
Flaskとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.3
Java&Spring記事人気No3
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.4
Java&Spring記事人気No4
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.5
Java&Spring記事人気No5
Flask
FlaskでAPIを作る基本!初心者向けに仕組みと特徴をやさしく解説
No.6
Java&Spring記事人気No6
Flask
Flask‑RESTfulでREST APIを構築する手順まとめ!初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
Python
Pythonの文字列操作完全ガイド!結合・分割・検索の基本をやさしく解説
No.8
Java&Spring記事人気No8
Flask
FlaskのSQLAlchemyでフィルタリング検索!filter, filter_byの使い方完全ガイド