二十二 Django生命週期

2022-09-18 03:21:27 字數 1141 閱讀 7597

django的生命週期是:前端請求--->nginx--->uwsgi.--->中介軟體--->url路由---->view試圖--->orm---->拿到資料返回給view---->試圖將資料渲染到模版中拿到字串---->中介軟體--->uwsgi---->nginx---->前端渲染。

中介軟體的作用非常大,可以處理所有的請求內容,中介軟體其實就是乙個類,這個類中一共有5個方法,

分別是process_request,

當乙個請求,首先從上往下執行這些類中process_request方法,之後進入django的從上往下執行每個類中的process_view方法,在然後就進入我們自定義的view.py檔案,如果你的試圖中有錯誤,那就會從下往上執行中介軟體中的process_exception方法,然後把錯誤資訊在通過process_response中返回給客戶端。

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

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

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

process_exception:在這個方法中是一定要有return方法的,這個方法是專門返回你的錯誤資訊的,我可以在所有的檢視函式只要出現錯誤就會執行這個方法,可以返回乙個錯誤模版資訊!

二十二,雜感

恩,二十二了,感覺是個turning point。二十二是中國男公民法定結婚年齡,但是因為我連女朋友都沒有,所以,這個話題暫不談論。其實剛到上海的時候,就準備把那些將要發生的辛酸點滴記錄下來,可是不知怎麼的,真正到辛酸的時候,卻不想去記憶了。那些歷程確實值得懷念,但是想起來就感覺不好,或許這就是所謂...

二十二 封裝

namespace demo7 this.age age this public int getage public void stuinfo 年齡為 方式一 public int age 方式二 private int age 字段 內部 public int age 讀取許可權 set 預設屬性...

django請求生命週期

wsgi,他就是socket服務端,用於接收使用者請求並將請求進行初次封裝,然後將請求交給web框架 flask django 框架對wsgi封裝好的請求再次封裝,封裝成request 中介軟體,幫助我們對請求進行校驗或在請求物件中新增其他相關資料,例如 csrf request.session 路...