django请求中间件的使用

前言:

最近工作中需要用到请求中间件拦截前端特定的请求url,处理请求数据。这里简要记录一下中间件的使用流程。

开发环境:
  • python版本 2.2.10
  • django版本 1.8.2
django中间件的使用流程:

1.在对应的app应用下新建中间件文件夹并编写中间件py脚本;
2.在settings.py中注册中间件;

一、编写中间件py脚本
1.说明:

实现process_request方法即可进行请求拦截

2.拦截思路:

1.通过获取请求url路径,根据路径关键字符串来判断是否为需要拦截的请求;
2.若为拦截的请求,则进行相关的业务逻辑处理;
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):
        """实现process_request方法即可实现拦截"""
        # 获取请求url
        request_url = request.get_full_path()
        if request_url.find("middleware") != -1:  # 拦截含有middleware关键字的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' # 注册中间件(填写中间件所在的项目路径即可)
)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • PythonWeb框架要点、Django介绍、工程搭建、配置、静态文件与路由 1.Python Web 框架要点 ...
    Cestine阅读 1,957评论 0 6
  • 利用HTTP协议向服务器传参的几种途径、响应、Cookie、Session、类视图、中间件 注意: 1>Dja...
    Cestine阅读 1,525评论 0 2
  • 一、Django框架前言知识: 1、C/S和B/S的区别: C/S结构软件:客户端/服务端软件,即客户端要自己下载...
    月下独酌123阅读 5,214评论 0 36
  • 模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内聚...
    riverstation阅读 2,261评论 0 8
  • 切换到创建项目的目录 cd C:\Users\admin\Desktop\DjangoProject创建名为pr...
    在努力中阅读 3,557评论 2 3

友情链接更多精彩内容