當你通過在瀏覽器裡敲來訪問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...