1. 程式人生 > >第68篇 中介軟體的常用方法

第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)

中介軟體的註冊順序: