更新時(shí)間:2021-03-04 來源:黑馬程序員 瀏覽量:
Django在中間件中預(yù)置了6個(gè)方法,這6個(gè)方法的區(qū)別在于不同的階段執(zhí)行,對(duì)輸入或輸出進(jìn)行干預(yù),具體如下:
(1)初始化:無需任何參數(shù),服務(wù)器響應(yīng)第一個(gè)請求的時(shí)候調(diào)用一次,用于確定是否啟用當(dāng)前中間件。
def __init__():
pass
(2)處理請求前:在每個(gè)請求上調(diào)用,返回None或HttpResponse對(duì)象。
def process_request(request):
pass
(3)處理視圖前:在每個(gè)請求上調(diào)用,返回None或HttpResponse對(duì)象。
def process_view(request, view_func, view_args, view_kwargs):
pass
(4)處理模板響應(yīng)前:在每個(gè)請求上調(diào)用,返回實(shí)現(xiàn)了render方法的響應(yīng)對(duì)象。
def process_template_response(request, response):
pass
(5)處理響應(yīng)后:所有響應(yīng)返回瀏覽器之前被調(diào)用,在每個(gè)請求上調(diào)用,返回HttpResponse對(duì)象。
def process_response(request, response):
pass
(6)異常處理:當(dāng)視圖拋出異常時(shí)調(diào)用,在每個(gè)請求上調(diào)用,返回一個(gè)HttpResponse對(duì)象。
def process_exception(request,exception):
pass
猜你喜歡:
1024首播|39歲程序員逆襲記:不被年齡定義,AI浪潮里再迎春天
2025-10-241024程序員節(jié)丨10年同行,致敬用代碼改變世界的你
2025-10-24【AI設(shè)計(jì)】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計(jì)連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運(yùn)營】深圳跨境電商運(yùn)營畢業(yè)22個(gè)工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運(yùn)維】鄭州運(yùn)維1期就業(yè)班,畢業(yè)14個(gè)工作日,班級(jí)93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19