Django中介軟體的總結,Django中介軟體總結

來源:互聯網
上載者:User

Django中介軟體的總結,Django中介軟體總結

一、中介軟體

--中介軟體是一個輕量級、底層的外掛程式系統,可以加入Django的請求和響應過程,修改Django的輸入和輸出

--每一個中介軟體組件是一個獨立的Python類,可以定義下面方法中的一個和多個

   --__init__:無需要任何參數,伺服器響應的第一個請求的時候調用一次,用於確定是否啟用當前的中介軟體

   --process_request(request):執行視圖之前被調用,在每個請求上調用,返回None或 HttpResponse對象

   --process_view(request,view_func,view_args,view_kwargs):調用視圖函數之前被調用,在每個請求上被調用,返回None或HtppResponse對象

   --process_template_response(request,response):在視圖剛好執行完畢之後被調用,再每一個請求上調用,返回實現了render方法的響應對象

   --process_response(request,response):所有響應返回瀏覽器之前被調用,在每一個請求上調用,返回HttpResponse對象

   --process_exception(request,response,exception):當視圖拋出異常是調用,在每個請求上調用,返回一個HttpResponse對象   

    a、中介軟體是什嗎?

           --中介軟體是一個類

    b、傳回值注意是什嗎?

           --無傳回值:繼續執行後續函數中介軟體和視圖函數

           --有傳回值:有傳回值執行process_response和上面的response

   c、中介軟體做過什麼:

           --使用者登入

           --日誌記錄

           --許可權管理

           --session

           --csrf   

                process_view

   d、中介軟體和裝飾器的區別

           --中介軟體用於大量操作,裝飾器用於單個

 

 

 

        

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.