1. 程式人生 > >Django中介軟體實現攔截器(轉載)

Django中介軟體實現攔截器(轉載)

1.前言

JavaWeb Struts2的攔截器我們都能很熟悉,在請求交給Action處理之前,先在攔截器中處理,處理完之後再交給Action。  在Django中如何實現相同的效果?

2.Django中介軟體

這個是我的專案的目錄結構。    首先,先在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 response1234567891011

在process_request中處理請求,process_response處理響應。  在process_request方法中,返回值為HttpResponse型別的物件的時候不交給普通的控制器處理,直接返回給瀏覽器,返回值為None的時候,請求處理完之後交給普通的控制器處理。  在settings.py檔案的中介軟體配置中我們剛剛的中介軟體。    至此利用中介軟體做攔截器的工作配置完成。 ---------------------  作者:胡大炮的妖孽人生  來源:CSDN  原文:https://blog.csdn.net/huplion/article/details/52723543  版權宣告:本文為博主原創文章,轉載請附上博文連結!