Django中間件實現(xiàn)攔截器的方法
1.前言
JavaWeb Struts2的攔截器我們都能很熟悉,在請求交給Action處理之前,先在攔截器中處理,處理完之后再交給Action。
在Django中如何實現(xiàn)相同的效果?
2.Django中間件
這個是我的項目的目錄結(jié)構(gòu)。

首先,先在app目錄(也就是我項目的web目錄)中新建一個文件命名為middleware.py

里面加入以下代碼:
try: from django.utils.deprecation import MiddlewareMixin # Django 1.10.x except ImportError: MiddlewareMixin = object # Django 1.4.x - Django 1.9.x class SimpleMiddleware(MiddlewareMixin): def process_request(self, request): return None def process_response(self, request, response): return response
在process_request中處理請求,process_response處理響應。
在process_request方法中,返回值為HttpResponse類型的對象的時候不交給普通的控制器處理,直接返回給瀏覽器,返回值為None的時候,請求處理完之后交給普通的控制器處理。
在settings.py文件的中間件配置中我們剛剛的中間件。

至此利用中間件做攔截器的工作配置完成。
相關(guān)文章
如何在pyqt中實現(xiàn)全局事件實戰(zhàn)記錄
事件的處理機制非常的復雜,屬于PyQt底層的事,不必我們關(guān)心,學會使用就行,下面這篇文章主要給大家介紹了關(guān)于如何在pyqt中實現(xiàn)全局事件的相關(guān)資料,需要的朋友可以參考下2022-02-02
django文檔學習之a(chǎn)pplications使用詳解
這篇文章主要介紹了Python文檔學習之a(chǎn)pplications使用詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-01-01

