python Django請求生命周期
阿新 • • 發佈:2018-11-13
不同的 信息 我們 req aaa 網絡 com 進入 事情
首先我們知道HTTP請求及服務端響應中傳輸的所有數據都是字符串.
在Django中,當我們訪問一個的url時,會通過路由匹配進入相應的html網頁中.
Django的請求生命周期是指當用戶在瀏覽器上輸入url到用戶看到網頁的這個時間段內,Django後臺所發生的事情
而Django的生命周期內到底發生了什麽呢??
1. 當用戶在瀏覽器中輸入url時,瀏覽器會生成請求頭和請求體發給服務端
請求頭和請求體中會包含瀏覽器的動作(action),這個動作通常為get或者post,體現在url之中.
2. url經過Django中的wsgi,再經過Django的中間件,最後url到過路由映射表,在路由中一條一條進行匹配,
一旦其中一條匹配成功就執行對應的視圖函數,後面的路由就不再繼續匹配了.
3. 視圖函數根據客戶端的請求查詢相應的數據.返回給Django,然後Django把客戶端想要的數據做為一個字符串返回給客戶端.
4. 客戶端瀏覽器接收到返回的數據,經過渲染後顯示給用戶.
視圖函數根據客戶端的請求查詢相應的數據後.如果同時有多個客戶端同時發送不同的url到服務端請求數據
服務端查詢到數據後,怎麽知道要把哪些數據返回給哪個客戶端呢??
因此客戶端發到服務端的url中還必須要包含所要請求的數據信息等內容.
例如,http://www.aaa.com/index/?nid=user
這個url中,
客戶端通過get請求向服務端發送的nid=user
的請求,服務端可以通過request.GET.get("nid")
的方式取得nid數據
客戶端還可以通過post的方式向服務端請求數據.
當客戶端以post的方式向服務端請求數據的時候,請求的數據包含在請求體裏,這時服務端就使用request.POST的方式取得客戶端想要取得的數據
轉自網絡
python Django請求生命周期