#前言。學完django基礎之后。發現忘的比學的還快。於是趕緊過一遍。#
1、關於django結構
2、關於django運行流程。
簡單說法:
1、游覽器輸入url。進入服務。
2、wsgi.py文件會調用settings.py文件(setting指定了很多東西。比如:允許哪些主機可以訪問、安裝指定的APP、安裝指定的中間件、指定的模板目錄、指定的數據庫引擎、指定國際化、指定靜態資源、加載路由規則等),在執行setting沒有報錯的情況下繼續下一步。
3、然后調用urls.py文件進行路由分發,然后二級或者三級路由會將地址映射到對應views。
4、然后views進行對應的邏輯處理(如果涉及到數據庫,則要調用model進行操作)。最后返回json。
5、前端根據response進行對應頁面渲染或者數據操作。
墨跡一點的說法:
1、游覽器輸入url。進入服務。
2、wsgi拿到請求
*封裝socket
*按照http協議進行解包
3、解包之后的數據給所有的中間件按照順序執行一遍。(如果中間件返回HttpResponse,則直接返回,不走下面的流程)
4、中間件執行完成之后把url進行路由分發后映射到對應的views。
5、然后view進行對應的邏輯處理(如果涉及到數據庫,則要調用model進行操作)。最后返回json
6、根據response進行對應頁面渲染或者數據操作。(這里指的是服務端渲染django模板數據)
7、把響應數據給中間件執行(中間件請求和響應執行順序和棧一樣)
8、中間件執行完成之后,wsgi按照http協議封裝響應數據。返回給游覽器,自此結束。