天天看點

Django中間件解析

中間件:中間件是Django架構給我們預留的函數接口,讓我們可以幹預請求和應答的過程。

中間件應用場景:

1 IP限制

2 url通路過濾

3 緩存(請求過來後,中間件看有沒有緩存資料,有的話直接傳回給使用者,沒有的話再執行視圖函數)

中間件預留函數

1 __init__(self)  伺服器響應第一個請求時候調用

2 process_request(self,request): 參生request對象,進行url比對之前調用

3 process_view(self,request,view_func, *view_args, **view_kwargs): url比對之後,視圖函數調用之前調用

4 process_response(self, request, response): 視圖函數調用之後,響應傳回之前調用

5 process_exception(self,request,exception) 視圖函數出現異常會調用這個函數,代碼正确不調用

Django中間件解析

中間件注冊順序如下表

Django中間件解析

舉例如下

繼續閱讀