更新時間:2021年03月04日15時43分 來源:傳智教育 瀏覽次數(shù):
Django在中間件中預置了6個方法,這6個方法的區(qū)別在于不同的階段執(zhí)行,對輸入或輸出進行干預,具體如下:
(1)初始化:無需任何參數(shù),服務器響應第一個請求的時候調用一次,用于確定是否啟用當前中間件。
def __init__(): pass
(2)處理請求前:在每個請求上調用,返回None或HttpResponse對象。
def process_request(request): pass
(3)處理視圖前:在每個請求上調用,返回None或HttpResponse對象。
def process_view(request, view_func, view_args, view_kwargs): pass
(4)處理模板響應前:在每個請求上調用,返回實現(xiàn)了render方法的響應對象。
def process_template_response(request, response): pass
(5)處理響應后:所有響應返回瀏覽器之前被調用,在每個請求上調用,返回HttpResponse對象。
def process_response(request, response): pass
(6)異常處理:當視圖拋出異常時調用,在每個請求上調用,返回一個HttpResponse對象。
def process_exception(request,exception): pass
猜你喜歡: