Django 請求處理過程

How Django process a request

  1. Django決定使用root URLconf模塊。即項目名.urls
  2. Django 加載1中Python模塊,尋找urlpattens變量.urlpatterns變量是django.conf.urls.url()的實例列表。
  3. django 順序遍歷每一個urlpattern, 直到找到一個(第一個)與請求的URL匹配的urlpattern
  4. 一旦找到匹配的正則,django就去imports and calls給定的view(一個Python 函數或者class based view),並傳入如下參數: 1) 一個HttpRequest實例,2) 如果匹配的正則表達式沒有返回named groups 就將它作爲位置參數。3)由正則表達式中named groups組成的kwarg,被任何在 django.conf.urls.url()中指定的kwarg 參數重寫。
  5. 如果沒有正則相匹配,或者在這中間的任何時刻出現異常,django都會去調用合適的錯誤處理視圖.

參考:https://docs.djangoproject.com/en/1.9/topics/http/urls/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章