首頁(yè)技術(shù)文章正文

如何使用Django中間件?

更新時(shí)間:2021-03-04 來(lái)源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

Django在中間件中預(yù)置了6個(gè)方法,這6個(gè)方法的區(qū)別在于不同的階段執(zhí)行,對(duì)輸入或輸出進(jìn)行干預(yù),具體如下:


(1)初始化:無(wú)需任何參數(shù),服務(wù)器響應(yīng)第一個(gè)請(qǐng)求的時(shí)候調(diào)用一次,用于確定是否啟用當(dāng)前中間件。

def __init__(): 
    pass

(2)處理請(qǐng)求前:在每個(gè)請(qǐng)求上調(diào)用,返回None或HttpResponse對(duì)象。

def process_request(request): 
    pass

(3)處理視圖前:在每個(gè)請(qǐng)求上調(diào)用,返回None或HttpResponse對(duì)象。

def process_view(request, view_func, view_args, view_kwargs): 
    pass

(4)處理模板響應(yīng)前:在每個(gè)請(qǐng)求上調(diào)用,返回實(shí)現(xiàn)了render方法的響應(yīng)對(duì)象。

def process_template_response(request, response): 
    pass

(5)處理響應(yīng)后:所有響應(yīng)返回瀏覽器之前被調(diào)用,在每個(gè)請(qǐng)求上調(diào)用,返回HttpResponse對(duì)象。

def process_response(request, response): 
    pass

(6)異常處理:當(dāng)視圖拋出異常時(shí)調(diào)用,在每個(gè)請(qǐng)求上調(diào)用,返回一個(gè)HttpResponse對(duì)象。

def process_exception(request,exception): 
    pass



猜你喜歡:

Django如何進(jìn)行單元測(cè)試?

如何配置Django+HTTPS開發(fā)環(huán)境?

Django框架環(huán)境安裝教程

Django框架中路由詳細(xì)介紹

黑馬程序員Python培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!