Django中間件實(shí)現(xiàn)攔截器的方法
1.前言
JavaWeb Struts2的攔截器我們都能很熟悉,在請(qǐng)求交給Action處理之前,先在攔截器中處理,處理完之后再交給Action。
在Django中如何實(shí)現(xiàn)相同的效果?
2.Django中間件
這個(gè)是我的項(xiàng)目的目錄結(jié)構(gòu)。
首先,先在app目錄(也就是我項(xiàng)目的web目錄)中新建一個(gè)文件命名為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中處理請(qǐng)求,process_response處理響應(yīng)。
在process_request方法中,返回值為HttpResponse類型的對(duì)象的時(shí)候不交給普通的控制器處理,直接返回給瀏覽器,返回值為None的時(shí)候,請(qǐng)求處理完之后交給普通的控制器處理。
在settings.py文件的中間件配置中我們剛剛的中間件。
至此利用中間件做攔截器的工作配置完成。
相關(guān)文章
Python給exe添加以管理員運(yùn)行的屬性方法詳解
這篇文章主要為大家介紹了Python給exe添加以管理員運(yùn)行的屬性方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12基于python實(shí)現(xiàn)簡(jiǎn)單日歷
這篇文章主要為大家詳細(xì)介紹了基于python實(shí)現(xiàn)簡(jiǎn)單日歷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07解決python圖像處理圖像賦值后變?yōu)榘咨膯?wèn)題
這篇文章主要介紹了解決python圖像處理圖像賦值后變?yōu)榘咨膯?wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06Python基于Django實(shí)現(xiàn)驗(yàn)證碼登錄功能
驗(yàn)證碼登錄是一種常見(jiàn)的身份驗(yàn)證方式,它可以有效防止惡意攻擊和機(jī)器人登錄,本文將介紹如何基于Python?Django實(shí)現(xiàn)驗(yàn)證碼登錄功能,需要的可以參考一下2023-05-05如何在pyqt中實(shí)現(xiàn)全局事件實(shí)戰(zhàn)記錄
事件的處理機(jī)制非常的復(fù)雜,屬于PyQt底層的事,不必我們關(guān)心,學(xué)會(huì)使用就行,下面這篇文章主要給大家介紹了關(guān)于如何在pyqt中實(shí)現(xiàn)全局事件的相關(guān)資料,需要的朋友可以參考下2022-02-02使用pyecharts無(wú)法import Bar的解決方案
這篇文章主要介紹了使用pyecharts無(wú)法import Bar的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-01-01django文檔學(xué)習(xí)之a(chǎn)pplications使用詳解
這篇文章主要介紹了Python文檔學(xué)習(xí)之a(chǎn)pplications使用詳解,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01