Djangoの仕組みを5分で理解!URL・View・Templateの流れを超やさしく解説
生徒
「Djangoって聞いたことはあるんですけど、何をしてくれるものなんですか?」
先生
「Djangoは、PythonでWebサイトやWebアプリを作るための道具箱のようなものです。特に、画面表示までの流れがとても整理されています。」
生徒
「整理されているって、どういう意味ですか?」
先生
「URL、View、Templateという3つの役割に分かれていて、その順番で画面が表示される仕組みになっているんです。」
生徒
「なんだか難しそうです……」
先生
「大丈夫です。パソコンを触ったことがなくてもイメージできる例えで説明しますね。」
1. Djangoとは?初心者向けに一言で説明
Django(ジャンゴ)は、Pythonというプログラミング言語を使ってWebサイトを作るためのフレームワークです。 フレームワークとは、最初から便利な仕組みや部品が用意されている「型」のようなものです。 ゼロから全部自分で作らなくても、Djangoを使えばブログ、問い合わせフォーム、管理画面などを効率よく作れます。
特にDjangoは「URL → View → Template」という流れがはっきりしているため、初心者でも全体像をつかみやすいのが特徴です。
2. Webサイトが表示されるまでの超ざっくりした流れ
Webサイトを見るとき、私たちはブラウザ(ChromeやEdgeなど)にURLを入力します。 すると、その情報がインターネットを通ってサーバーというコンピュータに届きます。 Djangoは、そのサーバー側で動いています。
Djangoでは、次の順番で処理が進みます。
- URL:どのページを見たいかを判断する
- View:中身の処理を考える頭脳
- Template:画面の見た目を作る
この流れを理解するだけで、Djangoの仕組みは半分以上わかったと言えます。
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とは?考える係のプログラム
View(ビュー)は、URLで呼ばれた後に実行される処理です。 「どんなデータを使うか」「何を表示するか」を決める場所です。 人間でいうと、頭で考える部分にあたります。
# views.py の例
from django.http import HttpResponse
def hello(request):
return HttpResponse("こんにちは、Django!")
このViewは、とてもシンプルで「こんにちは、Django!」という文字をそのまま表示します。 request(リクエスト)とは、ブラウザから届いたお願いのことです。
5. Templateとは?画面の見た目を作る設計図
Template(テンプレート)は、Webページの見た目を作る部分です。 HTMLという言語を使って、文字の配置や見た目を決めます。 料理で例えると、お皿に盛り付ける作業です。
<!DOCTYPE html>
<html>
<head>
<title>サンプルページ</title>
</head>
<body>
<h1>{{ message }}</h1>
</body>
</html>
{{ message }} の部分には、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を日常生活で例えると
Djangoの仕組みを、レストランで例えてみましょう。
- URL:お客さんが出す注文
- View:料理を考えて作る料理人
- Template:料理を盛り付けるお皿
お客さんが注文(URL)すると、料理人(View)が調理し、 お皿(Template)に盛り付けて提供されます。 この流れが、Djangoの基本構造です。
8. Djangoが初心者に向いている理由
Djangoは、最初から必要な仕組みがそろっており、正しい作り方に自然と導いてくれます。 URL、View、Templateが分かれていることで、混乱しにくく、後から見直しても理解しやすいです。
また、日本語の情報や解説記事も多く、Python自体も読みやすい文法なので、 プログラミング未経験の人でも少しずつ慣れていけます。