DjangoのURLルーティングとは?初心者向けに仕組みと役割をやさしく解説
生徒
「DjangoでWebページを表示したいんですが、URLルーティングって言葉が出てきて、何をしているのか分かりません……」
先生
「URLルーティングは、アクセスされたURLと処理内容を結びつける、とても大切な仕組みです。」
生徒
「URLと処理を結びつけるって、どういうことですか?」
先生
「住所と行き先を対応させる地図のようなものだと思ってください。順番に説明しますね。」
1. DjangoのURLルーティングとは何か
DjangoのURLルーティングとは、WebブラウザからアクセスされたURLと、Django内部の処理を結びつける仕組みのことです。ユーザーが入力したURLを見て、「どの処理を実行するか」を判断します。
例えば、ブラウザで「/login/」にアクセスされたらログイン画面を表示し、「/contact/」なら問い合わせ画面を表示する、といった判断を行います。
2. URLルーティングを身近な例で考える
URLルーティングは、郵便配達にとてもよく似ています。住所(URL)を見て、どの家(処理)に荷物(リクエスト)を届けるかを決めています。
もし住所が間違っていたら、配達できないのと同じように、URLルーティングが設定されていないURLにはアクセスできません。
3. DjangoでURLルーティングを管理する場所
Djangoでは、URLルーティングの設定を urls.py というファイルに書きます。このファイルは、プロジェクト全体やアプリごとに存在します。
urls.py は「URLの一覧表」のような存在で、どのURLがどの処理につながるかをまとめて管理しています。
from django.urls import path
from . import views
4. path関数でURLと処理を結びつける
DjangoのURLルーティングでは、path という関数を使って設定します。pathは「このURLが来たら、この処理を実行する」というルールを書くためのものです。
urlpatterns = [
path('', views.index),
]
この例では、何も付いていないURLにアクセスされたとき、indexという処理を実行する、という意味になります。
5. viewsとの関係をやさしく理解する
URLルーティングで指定される処理の多くは、views.py に書かれています。viewsは、実際に画面を表示したり、データを返したりする役割を持っています。
URLルーティングは「案内係」、viewsは「実際に対応する担当者」と考えると分かりやすいです。
def index(request):
return "Hello Django"
6. なぜURLルーティングが必要なのか
URLルーティングがないと、Djangoは「どのURLで、何をすればいいのか」が分かりません。すべてのリクエストを正しく処理するために、URLと処理を明確に結びつける必要があります。
この仕組みがあることで、URLを見ただけで「どんなページか」が想像しやすくなり、Webサイト全体が整理されます。
7. アクセスできないときのよくある原因
初心者の方がつまずきやすいのが、「URLにアクセスしても画面が表示されない」というケースです。その多くは、urls.py に設定が書かれていないことが原因です。
Page not found (404)
このような表示が出た場合は、「URLルーティングが設定されているか」を確認するのが第一歩です。
8. 初心者がURLルーティングで意識すべきポイント
URLルーティングは、最初は難しく感じますが、「URLと処理を結びつけているだけ」と考えると、ぐっと分かりやすくなります。
まずは、どのファイルに何を書くのか、全体の流れを理解することが大切です。細かい書き方は、使いながら自然と身についていきます。