Django是怎麼處理請求的

2021-08-07 20:33:25 字數 1163 閱讀 1864

當你通過在瀏覽器裡敲來訪問hello world訊息得時候,django在後台有些什麼動作呢?所有均開始於setting檔案。當你執行python manage.py runserver,指令碼將在於manage.py同乙個目錄下查詢名為setting.py的檔案。這個檔案包含了所有有關這個django專案的配置資訊,均大寫: template_dirs , database_name , 等. 最重要的設定時root_urlconf,它將作為urlconf告訴django在這個站點中那些python的模組將被用到

還記得什麼時候django-admin.py startproject建立檔案settings.py和urls.py嗎?自動建立的settings.py包含乙個root_urlconf配置用來指向自動產生的urls.py. 開啟檔案settings.py你將看到如下:

root_urlconf = 'mysite.urls'
相對應的檔案是mysite/urls.py

當訪問 url /hello/

時,django 根據 root_urlconf

的設定裝載 urlconf 。 然後按順序逐個匹配urlconf裡的urlpatterns,直到找到乙個匹配的。 當找到這個匹配 的urlpatterns就呼叫相關聯的view函式,並把httprequest

物件作為第乙個引數。 (稍後再給出 httprequest

的更多資訊) (我們將在後面看到httprequest的標準)

正如我們在第乙個檢視例子裡面看到的,乙個檢視功能必須返回乙個httpresponse。 一旦做完,django將完成剩餘的轉換python的物件到乙個合適的帶有http頭和body的web response,(例如,網頁內容)。

總結一下:

進來的請求轉入/hello/.

django通過在root_urlconf配置來決定根urlconf.

django在urlconf中的所有url模式中,查詢第乙個匹配/hello/的條目。

如果找到匹配,將呼叫相應的檢視函式

檢視函式返回乙個httpresponse

django轉換httpresponse為乙個適合的http response, 以web page顯示出來

你現在知道了怎麼做乙個 django-powered 頁面了,真的很簡單,只需要寫檢視函式並用 urlconfs把它們和urls對應起來。

Django是怎麼處理請求的

當你執行python manage.py runserver,指令碼將在於manage.py同乙個目錄下查詢名為setting.py的檔案。這個檔案包含了所有有關這個django專案的配置資訊,總結一下 進來的請求轉入 hello django通過在root urlconf配置來決定根urlconf...

Django框架 Django請求處理流程

django對請求的處理流程 使用者通過瀏覽器傳送請求 請求到達request中介軟體,中介軟體對request請求做預處理或者直接返回response 若未返回response,會到達urlconf路由,找到對應檢視函式 檢視函式做相應預處理或直接返回response view中的方法可以選擇性的...

Django解決CSRF請求處理

一 在提交的前端頁面中寫入js 片段 get cookie using jquery function getcookie name return cookievalue function csrfsafemethod method setting the token on the ajax req...