カテゴリ: Django 更新日: 2026/02/11

Djangoのurls.pyの仕組みを完全解説!pathとURLルーティングの基本を初心者向けにやさしく説明

Djangoのurls.py の仕組み(path/routeの基本)
Djangoのurls.py の仕組み(path/routeの基本)

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

生徒

「Djangoの勉強をしていたら、urls.py っていうファイルが出てきました。でも、何を書いているのか全然わかりません……」

先生

「urls.py は、Webサイトの『道案内』をする、とても大事なファイルなんですよ。」

生徒

「道案内、ですか?プログラミングなのに地図みたいですね。」

先生

「その感覚はとても大切です。URLと処理を結びつける仕組みを、順番に見ていきましょう。」

1. Djangoのurls.pyとは何か

1. Djangoのurls.pyとは何か
1. Djangoのurls.pyとは何か

Djangoの urls.py は、WebサイトにアクセスされたときのURLと、実行する処理を結びつけるための重要な設定ファイルです。ブラウザから送られてくるリクエストを見て、「どの画面を表示するか」「どの処理を動かすか」を判断する役割を持っています。

URLルーティングとは、その判断ルールをあらかじめ決めておく仕組みのことです。例えば、トップページ用のURLと、会社概要ページ用のURLでは、表示したい内容がまったく異なりますよね。urls.py は、その違いを正しく振り分けるための案内表のような存在です。

プログラミング未経験の方は、「URLごとに、表示内容を切り替える設定を書く場所」と覚えておくと理解しやすいでしょう。


from django.urls import path
from . import views

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

この簡単な例では、「何も付いていないURL(トップページ)」にアクセスされたとき、views.py に書かれた index という処理を実行する、という意味になります。urls.py は自分では画面を表示せず、あくまで「次にどの処理へ進むか」を決める役割だけを担当している点がポイントです。

2. URLルーティングを身近な例で理解する

2. URLルーティングを身近な例で理解する
2. URLルーティングを身近な例で理解する

URLルーティングは、住所と目的地の関係に似ています。住所(URL)を見て、「この場所なら、この部屋に案内する」と決めるのがurls.pyです。

もし道案内がなければ、訪問者は迷ってしまいます。Djangoでは、その迷子を防ぐためにurls.pyが用意されています。

3. urls.pyの基本的な中身

3. urls.pyの基本的な中身
3. urls.pyの基本的な中身

urls.py には、URLの一覧と、それに対応する処理が書かれています。まずは、最も基本的な形を見てみましょう。


from django.urls import path
from . import views

この部分は、「URLを設定するための道具を使います」「処理は views.py に書いてあります」という宣言です。最初は意味が分からなくても問題ありません。

4. path関数の役割を理解する

4. path関数の役割を理解する
4. path関数の役割を理解する

Djangoでは、URLルーティングを設定するために path という関数を使います。pathは、「このURLが来たら、この処理を実行する」というルールを書くためのものです。


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

この例では、URLの最後が何も付いていない場合に、indexという処理を実行する、という意味になります。

5. route(URLパターン)の考え方

5. route(URLパターン)の考え方
5. route(URLパターン)の考え方

pathの最初の引数は「route」と呼ばれ、URLの形を表しています。例えば「hello/」と書くと、「/hello/」というURLになります。


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

これは、「/hello/ にアクセスされたら hello という処理を実行する」という意味です。URLと処理が一対一で結びついています。

6. views.pyとの関係をやさしく説明

6. views.pyとの関係をやさしく説明
6. views.pyとの関係をやさしく説明

urls.py は、どの処理を呼び出すかを決めるだけで、実際の中身は views.py に書かれています。views.py は、画面表示やデータの返却を担当します。


def hello(request):
    return "Hello Django"

urls.py が受付係、views.py が実際に対応するスタッフ、という関係だと考えると分かりやすいです。

7. URLが見つからないときに起きること

7. URLが見つからないときに起きること
7. URLが見つからないときに起きること

urls.py に書かれていないURLにアクセスすると、Djangoは「その道は知りません」と判断します。その結果、エラー画面が表示されます。


Page not found (404)

このエラーが出たときは、URLルーティングが正しく設定されているかを確認することが大切です。

8. 初心者がurls.pyで意識すべきポイント

8. 初心者がurls.pyで意識すべきポイント
8. 初心者がurls.pyで意識すべきポイント

urls.py は、Djangoの中でも特に重要なファイルの一つです。ただし、最初からすべてを理解しようとしなくて大丈夫です。

「URLと処理を結びつける場所」「pathでルールを書く」という2点を押さえておくだけで、学習はぐっと楽になります。

テキスト部分の文字数(全角の平仮名・カタカナ・漢字のみ、コード・HTML除外):約2820文字
カテゴリの一覧へ
新着記事
New1
Flask
FlaskでHello Worldを表示するには?最初の1行を実行してみよう
New2
Python
PythonのSQL文の基本構文(SELECT・INSERT・UPDATE・DELETE)
New3
Flask
Flask-WTFでファイルアップロードフォームを完全ガイド!初心者でもわかる画像やPDFのアップロード方法
New4
Flask
FlaskのテンプレートエンジンJinja2とは?基本の書き方と使い方を解説
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.3
Java&Spring記事人気No3
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.4
Java&Spring記事人気No4
Python
Pythonのコメント活用術!初心者向けにTODO・FIXME・ドキュメンテーションコメントの書き方を完全解説
No.5
Java&Spring記事人気No5
Flask
Flaskアプリの環境変数をクラウドで安全に設定する方法!初心者のための完全ガイド
No.6
Java&Spring記事人気No6
Flask
Flaskでクラウド上のメッセージキュー(SQS/PubSub)を扱う完全ガイド!初心者向け解説
No.7
Java&Spring記事人気No7
Python
Pythonのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.8
Java&Spring記事人気No8
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説