第68篇 中介軟體的常用方法
1.什麼是中介軟體?
2. Django 自定義中介軟體的五個方法
處理請求:process_request(self,request)
0.執行的時間點:
返回響應之後
1. 執行順序
按照中介軟體註冊的順序執行
2. 引數
當前請求物件 request
3. 返回值
1. 沒有返回值的時候,繼續執行後續的中介軟體
2. 返回響應物件(render,redirect,HttpResponse)的時候,不繼續執行,直接將響應物件返回給瀏覽器
處理響應:process_reponse(else,request)
0.執行的時間點:
請求進來之後
1. 執行順序
按照中介軟體註冊的順序 倒序 執行
2. 引數
1.當前請求物件 request
2.傳遞過來的響應物件response
3. 返回值
1. 必須要返回一個響應物件,這個響應物件可以自己的例項化的響應物件,也可以是上一個中介軟體傳遞多來的response
處理檢視:process_view(self,request,view_func,view_args,view_kwargs)
0.執行的時間點:
process_response之後,進入檢視函式之前執行
1. 執行順序
按照中介軟體註冊的順序執行
2. 引數
1. 當前請求物件 request
2. view_func,將要執行的檢視函式物件
3. view_arge/view_kwargs將要執行的檢視函式的引數
3. 返回值
1. 沒有返回值的時候,繼續執行後續的中介軟體
2. 返回響應物件(render,redirect,HttpResponse)的時候,不繼續執行後續的檢視函式,直接將響應物件返回給瀏覽器
處理模板:process_template_reponse(self,request,reponse)
0. 執行的時間點:
當檢視函式中返回帶有render方法的響應物件,這個方法才會執行
處理異常:process_exceptions(self,request,exception)
中介軟體的註冊順序: