5.2.1介紹
中間件類似於flask裏面的請求鉤子,用於監聽請求和響應的整個過程
5.2.2中間件的定義和使用
定義一箇中間件工廠函數,然後返回一個可以被調用的中間件。
中間件工廠函數需要接收一個可以調用的get_response對象。
返回的中間件也是一個可以被調用的對象,並且像視圖一樣需要接收一個request對象參數,返回一個response對象。
def simple_middleware(get_response):
# 此處編寫的代碼僅在Django第一次配置和初始化的時候執行一次。
def middleware(request):
# 此處編寫的代碼會在每個請求處理視圖前被調用。
response = get_response(request)
# 此處編寫的代碼會在每個請求處理視圖之後被調用。
return response
return middleware
定義好中間件後,需要在settings.py 文件中添加註冊中間件
5.2.3多箇中間件的執行順序
- 在請求視圖被處理前,中間件由上至下依次執行
- 在請求視圖被處理後,中間件由下至上依次執行