日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Django4.0教程:Django4.0 中間件-其他中間件鉤子

除前面說的基礎(chǔ)請求/響應(yīng)中間件模式外,你可以給基于類的中間件添加三種其他特殊方法:

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了贊皇免費建站歡迎大家使用!

process_view()

process_view(request, view_func, view_args, view_kwargs)

?request? 是一個 ?HttpRequest?對象。?view_func?是一個 Django 將要使用的 Python 函數(shù)。(這是一個真實的函數(shù)對象,不是函數(shù)的名稱);?view_args?是一個用來傳遞給視圖的位置參數(shù)列表,;?view_kwargs?是一個用來傳遞給視圖的關(guān)鍵字參數(shù)字典。?view_args?和 ?view_kwargs?都不包含第一個視圖參數(shù) ( ?request?)。
?process_view()? 只在 Django 調(diào)用視圖前被調(diào)用。
它應(yīng)該返回 ?None?或 ?HttpResponse?對象。如果它返回 ?None?,Django 將繼續(xù)處理這個請求,執(zhí)行任何其他的 ?process_view()? ,然后執(zhí)行相應(yīng)的視圖。如果它返回 ?HttpResponse?對象,Django 不會去影響調(diào)用相應(yīng)的視圖;它會將響應(yīng)中間件應(yīng)用到 ?HttpResponse?并返回結(jié)果。

注解:在視圖運行前或在 ?process_view()? 內(nèi)訪問中間件里的 ?request.POST? 將阻止中間件之后運行的任何視圖修改請求的上傳處理程序 (?modify the upload handlers for the request? ),通常應(yīng)該避免這樣。

?CsrfViewMiddleware?類可以被視為一個例外,因為它提供 ?csrf_exempt()? 和 ?csrf_protect()? 裝飾器,它們允許視圖完全控制 ?CSRF?驗證在什么時候進行。

process_exception()

process_exception(request, exception)

?request?是一個 ?HttpRequest?對象。 ?exception?是一個由視圖函數(shù)引發(fā)的 ?Exception? 對象。
當視圖引發(fā)異常時,Django 會調(diào)用 ?process_exception()?。?process_exception()? 應(yīng)該返回 ?None?或 ?HttpResponse?對象。如果它返回一個 ?HttpResponse?對象,模板響應(yīng)和響應(yīng)中間件將被應(yīng)用且會將結(jié)果響應(yīng)返回瀏覽器。否則,就會開始默認異常處理( ?default exception handling? )。
再次,中間件在響應(yīng)階段會按照相反的順序運行,其中包括 ?process_exception?。如果異常中間件返回一個響應(yīng),那么中間件之上的中間件類的 ?process_exception?方法根本不會被調(diào)用。

process_template_response()

process_template_response(request, response)

?request?是一個 ?HttpRequest?對象。?response?是 ?TemplateResponse?對象(或者等效對象),它通過 Django 視圖或中間件返回。
?process_template_response()? 在視圖被完全執(zhí)行后調(diào)用,如果響應(yīng)實例有 ?render()? 方法,表明它是一個 ?TemplateResponse?或等效對象。
它必須返回一個實現(xiàn)了 ?render?方法的響應(yīng)對象。它可以通過改變?response.template_name?和 ?response.context_data? 來改變給定的 ?response?,或者它可以創(chuàng)建和返回全新的 ?TemplateResponse?或等效對象。
你不需要顯式地渲染響應(yīng)——一旦所有模板中間件被調(diào)用,響應(yīng)會被自動渲染。
中間件會在響應(yīng)階段按照相反的順序運行,其中包括 ?process_template_response()? 。


網(wǎng)頁名稱:創(chuàng)新互聯(lián)Django4.0教程:Django4.0 中間件-其他中間件鉤子
瀏覽路徑:http://www.dlmjj.cn/article/dhpgehp.html