溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

django的生命周期

發(fā)布時間:2020-11-24 14:27:03 來源:億速云 閱讀:146 作者:小新 欄目:編程語言

這篇文章主要介紹了django的生命周期,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

django的生命周期是:前端請求--->nginx--->uwsgi.--->中間件--->url路由---->view試圖--->orm---->拿到數(shù)據(jù)返回給view---->試圖將數(shù)據(jù)渲染到模版中拿到字符串---->中間件--->uwsgi---->nginx---->前端渲染。

中間件的作用非常大,可以處理所有的請求內(nèi)容,中間件其實就是一個類,這個類中一共有5個方法,

分別是

process_request,

process_response,

process_view,

process_exception,

process_render_template,

下面說一下它的運算順序

django的生命周期

當一個請求,首先從上往下運行這些類中process_request方法,之后進入django的從上往下執(zhí)行每個類中的process_view方法,在然后就進入我們自定義的view.py文件,如果你的試圖中有錯誤,那就會從下往上執(zhí)行中間件中的process_exception方法,然后把錯誤信息在通過process_response中返回給客戶端。

process_request:在這個方法中是沒有return方法的,如果有那就會執(zhí)行process_response方法,直接返回給客戶端,一般情況下我們是不會在這里返回內(nèi)容的,除非你有需求,判斷發(fā)過來的請求過來的內(nèi)容,如果不是很友好的請求,那么我們直接就可以在這返回,直接卡死,讓這個請求直接都進不了我們的django中的內(nèi)部程序,

process_response:在這個方法中我們必須要有return方法,這樣才能一步一步的返回給客戶端,當然你也可以寫一些東西在response里,在這里寫就是會在所有的response里都會有你所添加的內(nèi)容!

process_view:這個方法中是沒有return方法的,如果有那就走process_response方法;

process_exception:在這個方法中是一定要有return方法的,這個方法是專門返回你的錯誤信息的,我可以在所有的視圖函數(shù)只要出現(xiàn)錯誤就會執(zhí)行這個方法,可以返回一個錯誤模版信息!

感謝你能夠認真閱讀完這篇文章,希望小編分享django的生命周期內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI