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

DjangoでURLパラメータをビューで受け取る方法を完全解説!初心者でも安心して理解できる

DjangoでURLパラメータをビューで受け取る方法
DjangoでURLパラメータをビューで受け取る方法

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

生徒

「DjangoでURLに数字や文字が入っているページって、どうやって作っているんですか?」

先生

「DjangoではURLパラメータという仕組みを使って、URLの中の値をビューで受け取ることができます。」

生徒

「URLの中の値をプログラムで使えるんですか?」

先生

「はい。URLに含まれる数字や文字を受け取って、画面表示を変えたり処理を分けたりできます。」

生徒

「難しそうですが、パソコン初心者でも理解できますか?」

先生

「大丈夫です。住所や部屋番号の例えを使いながら、順番に説明していきましょう。」

1. DjangoのURLパラメータとは?

1. DjangoのURLパラメータとは?
1. DjangoのURLパラメータとは?

DjangoのURLパラメータとは、URLの中に含まれている値をプログラム側で受け取る仕組みです。たとえば「/user/1/」や「/blog/hello/」のように、URLの一部が変わるページがあります。この変わる部分がURLパラメータです。

現実世界で例えると、マンションの住所と部屋番号の関係に似ています。建物の住所は同じでも、部屋番号が違えば住んでいる人が変わります。Djangoでは、この部屋番号のような役割をURLパラメータが担っています。

2. URLパラメータを使うメリット

2. URLパラメータを使うメリット
2. URLパラメータを使うメリット

URLパラメータを使うと、同じビューを使いながら、表示内容を変えることができます。ページを大量に作らなくても、URLの値によって処理を切り替えられるため、管理がとても楽になります。

また、URLがシンプルで分かりやすくなるため、検索エンジンにも評価されやすくなります。DjangoとURLパラメータの組み合わせは、SEO対策としても重要なポイントです。

3. urls.pyでURLパラメータを設定する方法

3. urls.pyでURLパラメータを設定する方法
3. urls.pyでURLパラメータを設定する方法

Djangoでは、urls.pyというファイルでURLのルールを決めます。ここで、どの部分をパラメータとして受け取るかを指定します。


from django.urls import path
from . import views

urlpatterns = [
    path('hello/<int:age>/', views.hello),
]

この例では、URLの中の数字をageという名前で受け取っています。intは整数という意味で、数字だけを受け取る設定です。

4. ビューでURLパラメータを受け取る仕組み

4. ビューでURLパラメータを受け取る仕組み
4. ビューでURLパラメータを受け取る仕組み

urls.pyで設定したパラメータは、ビュー関数の引数として自動的に渡されます。特別な設定をしなくても、関数の中で使えるようになります。


from django.http import HttpResponse

def hello(request, age):
    return HttpResponse(f"{age}歳の方、こんにちは")

このように、関数の引数にageを書くだけで、URLの値をそのまま使えます。URLとビューが自然につながるのがDjangoの特徴です。

5. 文字列のURLパラメータを受け取る方法

5. 文字列のURLパラメータを受け取る方法
5. 文字列のURLパラメータを受け取る方法

数字だけでなく、文字列もURLパラメータとして受け取れます。ユーザー名やキーワードをURLに含めたいときに便利です。


urlpatterns = [
    path('welcome/<str:name>/', views.welcome),
]

def welcome(request, name):
    return HttpResponse(f"{name}さん、ようこそ")

strは文字列を意味します。URLに日本語やアルファベットを入れて表示を変えることもできます。

6. 複数のURLパラメータを使う方法

6. 複数のURLパラメータを使う方法
6. 複数のURLパラメータを使う方法

Djangoでは、URLパラメータを複数使うことも可能です。商品番号とカテゴリなど、複数の情報を同時に受け取れます。


urlpatterns = [
    path('shop/<str:category>/<int:item_id>/', views.shop),
]

def shop(request, category, item_id):
    return HttpResponse(f"{category}の商品番号は{item_id}です")

URLの順番とビューの引数の順番が対応している点が重要です。

7. URLパラメータが使われる実際の場面

7. URLパラメータが使われる実際の場面
7. URLパラメータが使われる実際の場面

URLパラメータは、ブログ記事の詳細ページ、ユーザー情報ページ、商品ページなど、ほぼすべてのWebサービスで使われています。DjangoでURLパラメータを理解すると、実際のWebアプリの仕組みが一気に身近になります。

URLを見るだけで、どんな情報が表示されるか想像できるようになるのも大きなメリットです。

8. 初心者がつまずきやすいポイント

8. 初心者がつまずきやすいポイント
8. 初心者がつまずきやすいポイント

初心者の方がよく間違えるのは、urls.pyとビューの引数名が一致していないケースです。名前が違うとエラーになります。また、intとstrの指定を間違えると、ページが表示されません。

エラーが出た場合は、URLの書き方とビュー関数の引数を落ち着いて確認することが大切です。

カテゴリの一覧へ
新着記事
New1
Flask
FlaskでJSONレスポンスを返す方法!初心者でもわかるAPIの基本出力
New2
Python
Pythonのbytes型とbytearray型とは?初心者向けにバイナリデータの扱い方を解説!
New3
Python
Pythonのbreak・continue・passを比較しよう!それぞれの役割と使い方まとめ
New4
Flask
FlaskでAPIを作る基本!初心者向けに仕組みと特徴をやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Django
Djangoマイグレーションの基本コマンド完全解説|makemigrationsとmigrateでDB設計を理解しよう
No.2
Java&Spring記事人気No2
Flask
Flaskプロファイラでボトルネックを特定!Webアプリ高速化の決定版
No.3
Java&Spring記事人気No3
Flask
Flask×Redisでタスク結果を保存・参照する仕組みを完全解説|初心者向け非同期処理とタスク管理
No.4
Java&Spring記事人気No4
Python
Pythonでタプルの最大値・最小値を取得する方法!max()・min()の使い方
No.5
Java&Spring記事人気No5
Flask
FlaskのAPIでファイルアップロードを受け付ける方法!初心者でもわかる解説
No.6
Java&Spring記事人気No6
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.7
Java&Spring記事人気No7
Flask
Flask拡張機能を活用したアプリ開発のポイントとベストプラクティス!初心者でも安心ガイド
No.8
Java&Spring記事人気No8
Python
Pythonのイミュータブルとは?変更できないデータ型の特徴を解説