django請求中間件的使用

前言:

最近工作中需要用到請求中間件攔截前端特定的請求url,處理請求數(shù)據(jù)。這里簡要記錄一下中間件的使用流程。

開發(fā)環(huán)境:
  • python版本 2.2.10
  • django版本 1.8.2
django中間件的使用流程:

1.在對應(yīng)的app應(yīng)用下新建中間件文件夾并編寫中間件py腳本;
2.在settings.py中注冊中間件;

一、編寫中間件py腳本
1.說明:

實現(xiàn)process_request方法即可進(jìn)行請求攔截

2.攔截思路:

1.通過獲取請求url路徑,根據(jù)路徑關(guān)鍵字符串來判斷是否為需要攔截的請求;
2.若為攔截的請求,則進(jìn)行相關(guān)的業(yè)務(wù)邏輯處理;
3.若不需要攔截,則返回None

3.代碼示例:
# coding:utf-8
"""
    請求中間件的簡單使用
    該py文件所在項目路徑:myapps/middleware/mymiddleware.py
"""
import json

from django.http import HttpResponse

class MyMiddleware(object):
    def process_request(self, request):
        """實現(xiàn)process_request方法即可實現(xiàn)攔截"""
        # 獲取請求url
        request_url = request.get_full_path()
        if request_url.find("middleware") != -1:  # 攔截含有middleware關(guān)鍵字的url
            print request_url
            return HttpResponse(json.dumps({"success": True, "data": ['middleware']}), content_type='text/json',
                                status=200)
        else:
            return None

if __name__ == "__main__":
    pass
二、在settings.py中注冊中間件
  # 在setting.py中注冊該中間件
  MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
     ...
    'myapps.middleware.mymiddleware.MyMiddleware' # 注冊中間件(填寫中間件所在的項目路徑即可)
)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • PythonWeb框架要點、Django介紹、工程搭建、配置、靜態(tài)文件與路由 1.Python Web 框架要點 ...
    Cestine閱讀 1,934評論 0 6
  • 利用HTTP協(xié)議向服務(wù)器傳參的幾種途徑、響應(yīng)、Cookie、Session、類視圖、中間件 注意: 1>Dja...
    Cestine閱讀 1,493評論 0 2
  • 一、Django框架前言知識: 1、C/S和B/S的區(qū)別: C/S結(jié)構(gòu)軟件:客戶端/服務(wù)端軟件,即客戶端要自己下載...
    月下獨酌123閱讀 5,141評論 0 36
  • 模塊間聯(lián)系越多,其耦合性越強(qiáng),同時表明其獨立性越差( 降低耦合性,可以提高其獨立性)。軟件設(shè)計中通常用耦合度和內(nèi)聚...
    riverstation閱讀 2,222評論 0 8
  • 切換到創(chuàng)建項目的目錄 cd C:\Users\admin\Desktop\DjangoProject創(chuàng)建名為pr...
    在努力中閱讀 3,539評論 2 3

友情鏈接更多精彩內(nèi)容