1. 程式人生 > >python Django請求生命周期

python Django請求生命周期

不同的 信息 我們 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請求生命周期