作為一個python新手,django可能是作為python開發第一個接觸的web架構了,今天來說說django的生命周期。
第一步:浏覽器輸入網址。接下來你以為就到django的urls了?No,緊接着是要經過django裡的settings.py裡的MIDDLEWARE配置,也就是中間件。
第二步:中間件通過之後才會到urls,通過urls的配置,找到views裡的函數或類。
第三步:執行函數或類,傳回一個字元串。
第四步:再通過一系列的中間件。
第五步:前端或模闆語言擷取到字元串,然後解析,在頁面上展示出來。
這裡說一下中間件:
具體的中間件不多介紹,就簡單的說下中間件的工作流程。這裡假設有三個中間件。
<a href="https://s1.51cto.com/wyfs02/M02/99/94/wKiom1lJ8I6xbFh7AAAJpVYqL9A863.png-wh_500x0-wm_3-wmp_4-s_1282457637.png" target="_blank"></a>
圖一為正常流程。
<a href="https://s1.51cto.com/wyfs02/M01/99/94/wKioL1lJ8I6zQb-AAAAJ9qdBdDc971.png-wh_500x0-wm_3-wmp_4-s_2126324676.png" target="_blank"></a>
圖二為django1.10之前版本的中間件流程,當在中間發生錯誤時,會直接跳到最後一個中間件,從最後一個往前走流程。
<a href="https://s1.51cto.com/wyfs02/M01/99/94/wKioL1lJ8I6hW07FAAAID0adp_A044.png-wh_500x0-wm_3-wmp_4-s_4200839069.png" target="_blank"></a>
圖三為django1.10之後版本,當在中間發生錯誤時,會在發生錯誤的中間件往前走流程。
本文轉自 sykmiao 51CTO部落格,原文連結:http://blog.51cto.com/syklinux/1940431,如需轉載請自行聯系原作者