首頁 >後端開發 >Python教學 >Django中間件實作攔截器的方法

Django中間件實作攔截器的方法

不言
不言原創
2018-06-02 14:28:213153瀏覽

這篇文章主要介紹了關於Django中間件實現攔截器的方法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

1.前言

JavaWeb Struts2的攔截器我們都能很熟悉,在請求交給Action處理之前,先在攔截器中處理,處理完之後再交給Action。

在Django中如何實現相同的效果?

2.Django中間件

這個是我的專案的目錄結構。

首先,先在app目錄(也就是我專案的網頁目錄)中新建一個檔案命名為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檔案的中間件配置中我們剛剛的中間件。

至此利用中間件做攔截器的工作配置完成。

相關推薦:

從django的中間件直接回傳請求的方法

以上是Django中間件實作攔截器的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn