カテゴリ: Django 更新日: 2026/03/21

Djangoでテンプレートを返す基本(render)を完全解説!初心者でも安心のビュー入門

Djangoでテンプレートを返す基本(render)
Djangoでテンプレートを返す基本(render)

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

生徒

「Djangoで画面に文字を表示したいんですが、どうやってHTMLを表示するんですか?」

先生

「Djangoでは、ビューという場所からrenderという仕組みを使ってHTML(テンプレート)を返します。」

生徒

「ビューって何ですか?テンプレートってHTMLのことですか?」

先生

「順番に説明します。まずは、Djangoで画面が表示される流れから見ていきましょう。」

1. Djangoで画面が表示される基本の流れ

1. Djangoで画面が表示される基本の流れ
1. Djangoで画面が表示される基本の流れ

Djangoでは、ブラウザでURLにアクセスすると、いくつかの処理を通って画面が表示されます。このとき重要なのがURL、ビュー、テンプレートの3つです。

まずURLとは、ブラウザのアドレス欄に入力する文字列のことです。次にビューとは、URLに応じて「どんな処理をするか」を決める場所です。最後にテンプレートとは、実際に画面に表示されるHTMLファイルのことです。

この3つが連携することで、DjangoはWebページを表示しています。Django初心者の方は、ビューが司令塔のような役割を持っていると考えると理解しやすいです。

2. ビュー(View)とは何をする場所なのか

2. ビュー(View)とは何をする場所なのか
2. ビュー(View)とは何をする場所なのか

ビューとは、ユーザーからのアクセスに対して「何を返すか」を決める場所です。Djangoのビューには関数ビューとクラスビューがありますが、ここでは一番シンプルな関数ビューを使います。

関数ビューはPythonの関数として書かれます。この関数の中で、HTMLを返したり、文字を返したり、データを処理したりします。今回のテーマであるrenderは、このビューの中で使います。

ビューは「注文を受けて料理を出す店員さん」のような存在です。お客さん(ブラウザ)から注文(URL)が来たら、決められた料理(HTML)を返します。

3. renderとは何かを超かみ砕いて説明

3. renderとは何かを超かみ砕いて説明
3. renderとは何かを超かみ砕いて説明

renderとは、Djangoでテンプレート(HTML)を使って画面を表示するための仕組みです。正式には関数ですが、初心者の方は「HTMLを表示する魔法の道具」くらいに考えて大丈夫です。

renderを使うと、HTMLファイルを読み込み、その内容をブラウザに返してくれます。また、Pythonの値をHTMLに渡すこともできます。

難しい言葉で言うと「テンプレートをレンダリングする」と言いますが、ここでは「HTMLを完成させて表示する」という理解で問題ありません。


from django.shortcuts import render

def hello_view(request):
    return render(request, 'hello.html')

4. renderの基本的な書き方を理解しよう

4. renderの基本的な書き方を理解しよう
4. renderの基本的な書き方を理解しよう

renderの基本形はとてもシンプルです。ビュー関数の中で、render(request, テンプレート名)という形で使います。

requestとは、ブラウザから送られてきた情報が入った箱のようなものです。初心者のうちは「毎回書くお決まりのもの」と覚えてしまって問題ありません。

テンプレート名には、表示したいHTMLファイルの名前を書きます。このHTMLは、templatesフォルダの中に置いておきます。


def top_page(request):
    return render(request, 'top.html')

5. テンプレート(HTML)ファイルの役割

5. テンプレート(HTML)ファイルの役割
5. テンプレート(HTML)ファイルの役割

テンプレートとは、画面に表示される見た目を作るHTMLファイルのことです。文字や見出し、文章などはすべてテンプレートに書きます。

Djangoでは、テンプレートを使うことで、デザイン部分と処理部分を分けて管理できます。これにより、コードが読みやすくなり、修正もしやすくなります。

初心者の方は、まず「HTMLファイル=テンプレート」と覚えておくと混乱しません。


<!DOCTYPE html>
<html>
<head>
    <title>トップページ</title>
</head>
<body>
    <h1>ようこそDjangoへ</h1>
    <p>これはテンプレートの表示例です。</p>
</body>
</html>

6. renderでデータをテンプレートに渡す

6. renderでデータをテンプレートに渡す
6. renderでデータをテンプレートに渡す

renderの便利なところは、PythonのデータをHTMLに渡せる点です。これにより、画面に動的な内容を表示できます。

例えば、ユーザー名やメッセージをテンプレートに渡して表示することができます。データは辞書という形で渡します。

辞書とは、名前と値をセットで管理する箱のようなものです。初心者の方は「ラベル付きの箱」と考えると分かりやすいです。


def greet_view(request):
    context = {
        'username': 'Django初心者'
    }
    return render(request, 'greet.html', context)

7. テンプレート側でデータを表示する方法

7. テンプレート側でデータを表示する方法
7. テンプレート側でデータを表示する方法

ビューから渡されたデータは、テンプレート内で特別な書き方を使って表示します。この書き方をテンプレートタグと呼びます。

波かっこを2つ使って、変数名を書くだけで表示できます。難しい処理は不要なので、初心者でも安心です。

これにより、HTMLの中にPythonの値を自然に埋め込むことができます。


<h1>こんにちは、{{ username }}さん!</h1>

8. renderを使うときの初心者がつまずきやすいポイント

8. renderを使うときの初心者がつまずきやすいポイント
8. renderを使うときの初心者がつまずきやすいポイント

Django初心者がrenderでつまずきやすいのは、テンプレートの置き場所やファイル名の間違いです。テンプレートは必ずtemplatesフォルダの中に置く必要があります。

また、ファイル名のスペルミスや全角文字の混入にも注意が必要です。エラーが出たときは、落ち着いてファイル名とパスを確認しましょう。

render自体はとてもシンプルな仕組みなので、基本の形を何度も書いて慣れることが大切です。

カテゴリの一覧へ
新着記事
New1
Flask
FlaskでJSONレスポンスを返す方法!初心者でもわかるAPIの基本出力
New2
Python
Pythonのbytes型とbytearray型とは?初心者向けにバイナリデータの扱い方を解説!
New3
Python
Pythonのbreak・continue・passを比較しよう!それぞれの役割と使い方まとめ
New4
Flask
FlaskでAPIを作る基本!初心者向けに仕組みと特徴をやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Django
Djangoマイグレーションの基本コマンド完全解説|makemigrationsとmigrateでDB設計を理解しよう
No.2
Java&Spring記事人気No2
Flask
Flask×Redisでタスク結果を保存・参照する仕組みを完全解説|初心者向け非同期処理とタスク管理
No.3
Java&Spring記事人気No3
Flask
Flaskプロファイラでボトルネックを特定!Webアプリ高速化の決定版
No.4
Java&Spring記事人気No4
Python
Pythonでタプルの最大値・最小値を取得する方法!max()・min()の使い方
No.5
Java&Spring記事人気No5
Flask
FlaskのAPIでファイルアップロードを受け付ける方法!初心者でもわかる解説
No.6
Java&Spring記事人気No6
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.7
Java&Spring記事人気No7
Python
Pythonのイミュータブルとは?変更できないデータ型の特徴を解説
No.8
Java&Spring記事人気No8
Flask
Flask拡張機能を活用したアプリ開発のポイントとベストプラクティス!初心者でも安心ガイド