Djangoのリクエスト処理

1まず、Django は、どのモジュールをルート URLconf として使うか決定する。

通常は、この値は ROOT_URLCONF に設定されている setting.py の中に

ROOT_URLCONF =  '***.urls'

という項目がありそこで設定される。

2-Djangoはurlpatternsという変数を探す。 これは通常 urls.pyに記載がある。

こんな感じで記載されている

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.board_topics, name= 'board_topics'),
    path('new/', views.new_topic, name='new_topic'),
    path('<int:topic_pk>/', views.view_topic, name='view_topic'),
    path('delete_topic/<int:topic_pk>/', views.delete_topic, name= 'delete_topic'),
    path('edit_topic/<int:topic_pk>/', views.edit_topic, name= 'edit_topic'),
]

3-このurlパターンを調べて、最初にマッチしたところを選択する ソレにマッチした指定されたViewをimportして呼び出す。

path関数定義

#4つの引数を取る 最後の2つはオプション
path (route:urlバターンを含む文字列,
           view:ビュー関数 ,
           kwargs: キーワード引数[opt],
           name:urlに名前をつけた場合[opt])

このname引数に名前をつけておけば、Djangoプロジェクトのどこからでもアクセスできるので便利である。

通常のアプリ作成時には、name属性をつけます。