創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)專注于湘鄉(xiāng)企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計,商城網(wǎng)站制作。湘鄉(xiāng)網(wǎng)站建設(shè)公司,為湘鄉(xiāng)等地區(qū)提供建站服務(wù)。全流程按需求定制網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)這篇文章將為大家詳細(xì)講解有關(guān)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,
下面說一下它的運算順序
當(dāng)一個請求,首先從上往下運行這些類中process_request方法,之后進(jìn)入django的從上往下執(zhí)行每個類中的process_view方法,在然后就進(jìn)入我們自定義的view.py文件,如果你的試圖中有錯誤,那就會從下往上執(zhí)行中間件中的process_exception方法,然后把錯誤信息在通過process_response中返回給客戶端。
process_request:在這個方法中是沒有return方法的,如果有那就會執(zhí)行process_response方法,直接返回給客戶端,一般情況下我們是不會在這里返回內(nèi)容的,除非你有需求,判斷發(fā)過來的請求過來的內(nèi)容,如果不是很友好的請求,那么我們直接就可以在這返回,直接卡死,讓這個請求直接都進(jìn)不了我們的django中的內(nèi)部程序,
process_response:在這個方法中我們必須要有return方法,這樣才能一步一步的返回給客戶端,當(dāng)然你也可以寫一些東西在response里,在這里寫就是會在所有的response里都會有你所添加的內(nèi)容!
process_view:這個方法中是沒有return方法的,如果有那就走process_response方法;
process_exception:在這個方法中是一定要有return方法的,這個方法是專門返回你的錯誤信息的,我可以在所有的視圖函數(shù)只要出現(xiàn)錯誤就會執(zhí)行這個方法,可以返回一個錯誤模版信息!
關(guān)于django生命周期是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。