カテゴリ: Django 更新日: 2026/04/10

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文字

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Djangoのurls.pyとは一体どのような役割を持つファイルなのでしょうか?初心者にもわかりやすく教えてください。

Djangoのurls.pyは、Webサイトにアクセスしてきたユーザーが入力したURL(住所)を確認し、それに対応する適切なプログラムの処理(目的地)へと案内する「道先案内人」や「受付係」のような役割を担っています。PythonでWebアプリケーションを開発する際、ブラウザからのリクエストをどのビュー関数で処理するかを決定する「URLルーティング」という非常に重要な設定を行うためのファイルです。このファイルがあるおかげで、ユーザーは特定のURLを叩くだけで、期待通りの画面を表示させることができます。
カテゴリの一覧へ
新着記事
New1
Django
Django認可を完全理解!初心者でもわかるモデルパーミッション(add・change・delete・view)
New2
Django
Django認可の基本|ユーザー・グループ・パーミッションの仕組みを初心者向けに徹底解説
New3
Python
PythonでWebスクレイピングを始める方法!BeautifulSoupの基本
New4
Django
Django認可入門|認証と権限(Permission)の違いを初心者向けにやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Python
PythonでREST APIを作る方法!初心者向けFastAPI入門
No.2
Java&Spring記事人気No2
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.3
Java&Spring記事人気No3
Python
PythonのSQLAlchemy使い方入門!初心者でもわかるインストールと初期設定
No.4
Java&Spring記事人気No4
Flask
Flaskの国際化対応でよくある課題と対処法まとめ!Python初心者向け解決ガイド
No.5
Java&Spring記事人気No5
Python
PythonのSQLAlchemyでデータベース操作!モデルクラスでテーブル定義する方法を徹底解説
No.6
Java&Spring記事人気No6
Flask
Flaskで右から左(RTL)言語をサポートする設定例!アラビア語対応の基本
No.7
Java&Spring記事人気No7
Python
PythonのSQLAlchemyでデータベース接続!初心者向けORM入門ガイド
No.8
Java&Spring記事人気No8
Python
PythonのFlaskでAPIを開発する方法!基本のルーティングから実装まで