Django 4 の URL ルーティングとビューの基本的な仕組みを学び、シンプルな Web ページを作成する方法を解説します。
Django 4 では、ユーザーがアクセスする URL と、それに対応する処理(ビュー)を設定することで、Web アプリケーションを構築できます。
本記事では、Django 4 の URL ルーティングの基本と、ビューの実装方法を詳しく解説します。
Django 4 の URL ルーティングは、urls.py
に定義され、ユーザーのリクエストを適切なビューにマッピングします。
✅ 基本的な流れ
http://127.0.0.1:8000/home/
にアクセスconfig/urls.py
を参照し、該当するパターンを探すbase/urls.py
にリクエストが渡り、対応するビュー関数を実行Django 4 のプロジェクトを作成した直後は、config/urls.py
の urlpatterns
に base
アプリのルーティングは含まれていません。
そのため、以下のように include
を使って base.urls
を登録する必要があります。
PYTHONfrom django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), # 管理画面 path('', include('base.urls')), # base アプリの URL を登録 ]
✅ ポイント
include('base.urls')
を追加することで、base
アプリの urls.py
にルーティングが委譲される。path('')
のように指定すると、base.urls
内のパスが http://127.0.0.1:8000/
直下のルートとして扱われる。Django 4 の startapp base
コマンドでは urls.py
は作成されません。
そのため、手動で base/urls.py
を作成する必要があります。
BASHtouch base/urls.py
作成後、以下のように urlpatterns
を定義します。
PYTHONfrom django.urls import path from .views import home_view urlpatterns = [ path('home/', home_view, name='home'), ]
✅ コードの解説
path('home/', home_view, name='home')
home/
という URL にアクセスすると home_view
が実行されるname='home'
は後で URL の逆引きに使用できるbase/views.py
にビューを定義します。
PYTHONfrom django.http import HttpResponse def home_view(request): return HttpResponse("<h1>ホームページ</h1>")
✅ コードの解説
home_view(request)
: request
を受け取り、レスポンスを返す関数HttpResponse("<h1>ホームページ</h1>")
により、HTML のレスポンスを直接返すテンプレート内で name='home'
を使用すると、ハードコーディングせずに URL を生成できます。
HTML<a href="{% url 'home' %}">ホームへ</a>
✅ メリット
ここまでの設定が完了したら、Django 4 の開発サーバーを起動し、動作を確認します。
BASHpython manage.py runserver
ブラウザで http://127.0.0.1:8000/home/
にアクセスすると、「ホームページ」が表示されます。
config/urls.py
で base.urls
を include
し、アプリごとのルーティングを管理。base/urls.py
を作成し、views.py
内のビュー関数と紐付ける。{% url 'home' %}
を使い、テンプレートから URL を参照できる。python manage.py runserver
で開発サーバーを起動し、動作を確認。当サイトの情報は、一般的な参考情報として提供しております。
正確な情報の掲載に努めておりますが、その内容の正確性・完全性・最新性を保証するものではありません。
記事の内容をご利用の際は、ご自身の責任において判断し、必要に応じて専門家にご相談ください。
当サイトの情報の利用により生じたいかなる損害についても、一切の責任を負いかねますのでご了承ください。
※ 本ページでは、著作権法に基づき、適正な引用の範囲内でコンテンツを紹介しています。
オリジナルの情報は発信元をご確認ください。
もし問題がありましたら、こちら からお問い合わせください。