アプリケーションのアドレス管理

アプリケーションのアドレス管理ファイルを作る

プロジェクトルートのプロジェクトと同名DIRにあるアドレス管理ファイル(今の例で言えばdjango_app/urls.py)に、helloアプリのアドレス管理をさせたが、このファイルは複数のアプリケーションを含んだプロジェクト全体のURL管理をするものらしい。実際にはアプリケーションごとにurls.pyを置いたほうが、各アプリケーションのURL管理はやりやすい。そこでデフォルトでは用意されていないがhello/urls.pyを作る。

hello/urls.py

from django.urls import path
from . import views

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

アプリケーションのアドレス管理は、そのアプリケーションのurls.pyに任せる

同時にプロジェクト全体のURLを管理するdjango_app/urls.pyのほうは、直接hello.index(helloアプリのviews.pyにあるindex関数)を呼び出すのではなく、helloアプリケーションのURL管理はhello/urls.pyに任せる形になるので、それを読み込む形にする。

django_app/urls.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello/', include('hello.urls')),
]

django.urlsからimportするのはpath関数だけでなく、include関数も追加された。またimport hello.views as helloは必要なくなった。

再びサーバにアクセスするとhttp://localhost:8000/hello/で"Hello Django!!"が表示される。