下邊的圖就是一次完整的django生命周期,從客戶端輸入url,經過wsgi模塊處理,得到符合HTTP協議的字符串,走中間件,假如中間件return None,繼續往下走到urls......;
假如中間件return Httpresponse/render/redirect ...直接返回給用戶,如果是httpresponse則展示給用戶,其它兩個的話繼續走中間件:
PS:客戶端訪問url→wsgi→setting模塊中的中間件從上到下依次執行,正常情況下依次經過urls→views→(templates,models),返回原路返回。。。。
今天才剛剛搞懂他的流程,以前只是照着代碼抄,不知道哪里開始哪里結束,現在終於知道他的整個流程,感謝!
PS:Django程序啟動后,會加載項目中的每一個文件,假如setting中配置了中間件,那么他的類方法會加載,其中“類中的init方法會執行兩次”,然后輸入url,視圖函數中找到視圖,按照邏輯執行方法