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

Djangoの仕組みを5分で理解!URL・View・Templateの流れを超やさしく解説

Djangoの仕組みを5分で理解(URL → View → Template)
Djangoの仕組みを5分で理解(URL → View → Template)

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

生徒

「Djangoって聞いたことはあるんですけど、何をしてくれるものなんですか?」

先生

「Djangoは、PythonでWebサイトやWebアプリを作るための道具箱のようなものです。特に、画面表示までの流れがとても整理されています。」

生徒

「整理されているって、どういう意味ですか?」

先生

「URL、View、Templateという3つの役割に分かれていて、その順番で画面が表示される仕組みになっているんです。」

生徒

「なんだか難しそうです……」

先生

「大丈夫です。パソコンを触ったことがなくてもイメージできる例えで説明しますね。」

1. Djangoとは?初心者向けに一言で説明

1. Djangoとは?初心者向けに一言で説明
1. Djangoとは?初心者向けに一言で説明

Django(ジャンゴ)は、Pythonというプログラミング言語を使ってWebサイトを作るためのフレームワークです。 フレームワークとは、最初から便利な仕組みや部品が用意されている「型」のようなものです。 ゼロから全部自分で作らなくても、Djangoを使えばブログ、問い合わせフォーム、管理画面などを効率よく作れます。

特にDjangoは「URL → View → Template」という流れがはっきりしているため、初心者でも全体像をつかみやすいのが特徴です。

2. Webサイトが表示されるまでの超ざっくりした流れ

2. Webサイトが表示されるまでの超ざっくりした流れ
2. Webサイトが表示されるまでの超ざっくりした流れ

Webサイトを見るとき、私たちはブラウザ(ChromeやEdgeなど)にURLを入力します。 すると、その情報がインターネットを通ってサーバーというコンピュータに届きます。 Djangoは、そのサーバー側で動いています。

Djangoでは、次の順番で処理が進みます。

  • URL:どのページを見たいかを判断する
  • View:中身の処理を考える頭脳
  • Template:画面の見た目を作る

この流れを理解するだけで、Djangoの仕組みは半分以上わかったと言えます。

3. URLの役割とは?住所のような存在

3. URLの役割とは?住所のような存在
3. URLの役割とは?住所のような存在

URLとは、インターネット上の住所のようなものです。 「/」「/about」「/contact」など、それぞれ違うページを表します。 Djangoでは、URLを見て「どの処理をするか」を決めます。


# urls.py の例
from django.urls import path
from . import views

urlpatterns = [
    path('', views.index),
    path('hello/', views.hello),
]

このコードでは、何も付いていないURLはindexという処理に、 hello/と入力された場合はhelloという処理に進む、という意味になります。

4. Viewとは?考える係のプログラム

4. Viewとは?考える係のプログラム
4. Viewとは?考える係のプログラム

View(ビュー)は、URLで呼ばれた後に実行される処理です。 「どんなデータを使うか」「何を表示するか」を決める場所です。 人間でいうと、頭で考える部分にあたります。


# views.py の例
from django.http import HttpResponse

def hello(request):
    return HttpResponse("こんにちは、Django!")

このViewは、とてもシンプルで「こんにちは、Django!」という文字をそのまま表示します。 request(リクエスト)とは、ブラウザから届いたお願いのことです。

5. Templateとは?画面の見た目を作る設計図

5. Templateとは?画面の見た目を作る設計図
5. Templateとは?画面の見た目を作る設計図

Template(テンプレート)は、Webページの見た目を作る部分です。 HTMLという言語を使って、文字の配置や見た目を決めます。 料理で例えると、お皿に盛り付ける作業です。


<!DOCTYPE html>
<html>
<head>
    <title>サンプルページ</title>
</head>
<body>
    <h1>{{ message }}</h1>
</body>
</html>

{{ message }} の部分には、Viewから渡されたデータが入ります。 これにより、同じTemplateでも中身を変えて表示できます。

6. ViewとTemplateはどうやってつながるの?

6. ViewとTemplateはどうやってつながるの?
6. ViewとTemplateはどうやってつながるの?

Viewは、Templateを指定して画面を表示します。 そのときに、Templateに渡すデータも一緒に指定できます。


from django.shortcuts import render

def index(request):
    return render(request, 'index.html', {
        'message': 'はじめてのDjango'
    })

renderという命令は、「このTemplateを使って画面を作ってください」という意味です。 messageという名前で文字を渡し、Template側で表示しています。

7. URL・View・Templateを日常生活で例えると

7. URL・View・Templateを日常生活で例えると
7. URL・View・Templateを日常生活で例えると

Djangoの仕組みを、レストランで例えてみましょう。

  • URL:お客さんが出す注文
  • View:料理を考えて作る料理人
  • Template:料理を盛り付けるお皿

お客さんが注文(URL)すると、料理人(View)が調理し、 お皿(Template)に盛り付けて提供されます。 この流れが、Djangoの基本構造です。

8. Djangoが初心者に向いている理由

8. Djangoが初心者に向いている理由
8. Djangoが初心者に向いている理由

Djangoは、最初から必要な仕組みがそろっており、正しい作り方に自然と導いてくれます。 URL、View、Templateが分かれていることで、混乱しにくく、後から見直しても理解しやすいです。

また、日本語の情報や解説記事も多く、Python自体も読みやすい文法なので、 プログラミング未経験の人でも少しずつ慣れていけます。

カテゴリの一覧へ
新着記事
New1
Flask
Flask-RESTfulの基本!API開発をシンプルにする拡張機能の導入方法
New2
Flask
FlaskでPOSTリクエストを受け取る方法!初心者でもわかるJSONデータの受け取り方
New3
Flask
FlaskのAPI開発でテストを始めよう!初心者でもわかるpytestを使った基本テスト例
New4
Flask
Flaskのエラーページをカスタマイズする方法!404・500ページの作り方まとめ
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.2
Java&Spring記事人気No2
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.3
Java&Spring記事人気No3
Flask
Flaskアプリの環境変数をクラウドで安全に設定する方法!初心者のための完全ガイド
No.4
Java&Spring記事人気No4
Python
Pythonのコメント活用術!初心者向けにTODO・FIXME・ドキュメンテーションコメントの書き方を完全解説
No.5
Java&Spring記事人気No5
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
No.6
Java&Spring記事人気No6
Python
Pythonのbytes型とbytearray型とは?初心者向けにバイナリデータの扱い方を解説!
No.7
Java&Spring記事人気No7
Python
Pythonで空白や不要な文字を削除する方法!strip(), rstrip(), lstrip() の使い方を初心者向けに解説
No.8
Java&Spring記事人気No8
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説