Django中间件实现拦截器的方法


Posted in Python onJune 01, 2018

1.前言

JavaWeb Struts2的拦截器我们都能很熟悉,在请求交给Action处理之前,先在拦截器中处理,处理完之后再交给Action。

在Django中如何实现相同的效果?

2.Django中间件

这个是我的项目的目录结构。

Django中间件实现拦截器的方法

首先,先在app目录(也就是我项目的web目录)中新建一个文件命名为middleware.py

Django中间件实现拦截器的方法

里面加入以下代码:

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中间件实现拦截器的方法

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

Python 相关文章推荐
详解python中的文件与目录操作
Jul 11 Python
Python OpenCV获取视频的方法
Feb 28 Python
python多进程实现文件下载传输功能
Jul 28 Python
python3.5绘制随机漫步图
Aug 27 Python
Python类和对象的定义与实际应用案例分析
Dec 27 Python
pandas去重复行并分类汇总的实现方法
Jan 29 Python
python解析xml简单示例
Jun 21 Python
python 两个数据库postgresql对比
Oct 21 Python
python opencv图片编码为h264文件的实例
Dec 12 Python
python 负数取模运算实例
Jun 03 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
Aug 11 Python
python palywright库基本使用
Jan 21 Python
Python使用add_subplot与subplot画子图操作示例
Jun 01 #Python
详解Python如何生成词云的方法
Jun 01 #Python
Python实现的个人所得税计算器示例
Jun 01 #Python
Python模拟登录的多种方法(四种)
Jun 01 #Python
Python使用re模块正则提取字符串中括号内的内容示例
Jun 01 #Python
Python爬虫获取图片并下载保存至本地的实例
Jun 01 #Python
python操作mysql代码总结
Jun 01 #Python
You might like
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
用php+mysql一个名片库程序
2006/10/09 PHP
php 数组的合并、拆分、区别取值函数集
2010/02/15 PHP
基于PHP文件操作的详解
2013/06/05 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
一起来写段JS drag拖动代码
2010/12/09 Javascript
jQuery函数的等价原生函数代码示例
2013/05/27 Javascript
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)
2013/10/01 Javascript
jquery内置验证(validate)使用方法示例(表单验证)
2013/12/04 Javascript
一个很有趣3D球状标签云兼容IE8
2014/08/22 Javascript
JavaScript判断浏览器类型的方法
2015/02/10 Javascript
JQuery中使文本框获得焦点的方法实例分析
2015/02/28 Javascript
JQuery悬停控制图片轮播——代码简单
2015/08/05 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
JS基于onclick事件实现单个按钮的编辑与保存功能示例
2017/02/13 Javascript
javascript 面向对象function详解及实例代码
2017/02/28 Javascript
使用JS实现图片轮播的实例(前后首尾相接)
2017/09/21 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
JS获取并处理php数组的方法实例分析
2018/09/04 Javascript
Javascript之高级数组API的使用实例
2019/03/08 Javascript
vue elementUI 表单校验功能之数组多层嵌套
2019/06/04 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
Python实现的飞速中文网小说下载脚本
2015/04/23 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
python pygame实现五子棋小游戏
2020/10/26 Python
python内置模块collections知识点总结
2019/12/19 Python
Python tkinter三种布局实例详解
2020/01/06 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
Python Socket TCP双端聊天功能实现过程详解
2020/06/15 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
2021/01/29 Python
如何给HTML标签中的文本设置修饰线
2019/11/18 HTML / CSS
AC Lens:购买隐形眼镜
2017/02/26 全球购物
商场经理竞聘演讲稿
2014/01/01 职场文书
师生聚会感言
2014/01/26 职场文书
区优秀教师事迹材料
2014/02/10 职场文书