ルーティングを設定します。

ルーティング

ルーティングは urls.py に定義します。

ルーティングはプロジェクト用とアプリケーション用が存在します。

プロジェクト用ルーティング

プロジェクト用ルーティングは、管理サイト用のルーティングとアプリケーション用のルーティングを指定します。

include 関数でアプリケーションの urls を指定します。

アプリケーション用ルーティング

アプリケーション用のルーティングは、URL とビューのマッチングをします。

このファイルは自動生成されないので、作成する必要があります。

プロジェクト URL

mysite/urls.py

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

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

コード解説

urlpatternsを使用して、path 関数の引数を順番にチェックしています。

第一引数が一致したら、第二引数の処理を行います。

アプリケーション URL

アプリケーション用の urls.py を作成します。

app
   └── urls.py

app/urls.py

from django.urls import path
from app import views

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

コード解説

トップページ('')に view の IndexView 関数を割り当てます。

トップページにアクセスした時に、IndexView 関数の処理をすることになります。

as_viewメソッドは、クラス汎用ビューをビュー関数化する働きをします。

次のページで説明しますが、IndexView はクラス汎用ビューと言って、Django が用意した関数を継承して作ります。

クラス汎用ビューを使用する場合は必須になります。

第三引数の name は、ルーティングに名前をつけています。

ルーティングに名前をつけることで、名前から URL を逆引きすることができるようになります。

便利なので必ず指定します。

path('', views.IndexView.as_view(), name='index'),