Djangoのurls.pyで使用するコーディングを紹介します。
urls.pyはルーティングの機能を持っている為、各アプリのチャンネル的な役割を担います。
1.urlpatterns
~~~~~サンプルコード始まり~~~~~~
from django.contrib import admin # ①とセット
from django.urls import path, include #④とセット
urlpatterns = [
path('admin/', admin.site.urls), ⇒①
path('', include('【アプリA】.urls')), ⇒②
path('', TemplateView.as_view(template_name='【トップ画面】.html'), name='home'),⇒③
path('accounts/', include('allauth.urls')),⇒④
]
urlpatterns += static(settings_common.MEDIA_URL, document_root=settings_dev.MEDIA_ROOT)
~~~~~サンプルコード終わり~~~~~~
【解説】
urlpatternsのリスト変数でurlマッチングを行います。
①pass(‘ admin/ ‘,admin.site.urls’)),
⇒https://<ホスト名>/admin~のリンク先に飛ぶ設定。管理者のサイトにアクセスするためのコード
②pass(‘ ‘,include(‘【アプリA】.urls’)),
⇒https://<ホスト名>で、https://<ホスト名>/【アプリA】/urls.pyにアクセスするためのコード
③path(”, TemplateView.as_view(template_name=’【トップ画面】.html’), name=’home’),
⇒認証が完了した後にTOP画面(例:index.html)にリダイレクトする設定
④pass(‘accounts/ ‘, include(‘allayth.urls’)),
⇒ログイン画面へのアクセスするためのコード