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

 更新时间:2018年06月01日 14:46:07   作者:hupppppp  
今天小编就为大家分享一篇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 response

在process_request中处理请求,process_response处理响应。

在process_request方法中,返回值为HttpResponse类型的对象的时候不交给普通的控制器处理,直接返回给浏览器,返回值为None的时候,请求处理完之后交给普通的控制器处理。

在settings.py文件的中间件配置中我们刚刚的中间件。

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

相关文章

  • Python+OpenCV实现相机标定的方法详解

    Python+OpenCV实现相机标定的方法详解

    opencv中内置了张正友的棋盘格标定法,通过一些姿态各异的棋盘格图像,可以标定相机的内外参数,本文为大家介绍OpenCV进行相机标定的具体方法,希望对大家有所帮助
    2023-05-05
  • 解读Python脚本的常见参数获取和处理方式

    解读Python脚本的常见参数获取和处理方式

    这篇文章主要介绍了Python脚本的常见参数获取和处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Python3开发环境搭建详细教程

    Python3开发环境搭建详细教程

    这篇文章主要介绍了Python3开发环境搭建详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Python运行报错UnicodeDecodeError的解决方法

    Python运行报错UnicodeDecodeError的解决方法

    本文给大家分享的是在Python项目中经常遇到的关于编码问题的一个小bug的解决方法以及分析方法,有相同遭遇的小伙伴可以来参考下
    2016-06-06
  • Python基础必备之语法结构详解

    Python基础必备之语法结构详解

    Python语法定义了用于在 Python 编程中创建句子的所有规则集。如果想更深入地研究 Python 词法结构,需要了解构成语句的句法元素,即构成 Python 程序的基本单元,涵盖控制结构,在不同代码组之间引导程序流的构造,快跟随小编一起学习一下吧
    2022-04-04
  • python 使用递归的方式实现语义图片分割功能

    python 使用递归的方式实现语义图片分割功能

    这篇文章主要介绍了python 使用递归的方式实现语义图片分割,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • python使用calendar输出指定年份全年日历的方法

    python使用calendar输出指定年份全年日历的方法

    这篇文章主要介绍了python使用calendar输出指定年份全年日历的方法,涉及Python使用calendar模块操作日期的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • 微信公众号接入ChatGPT机器人的方法

    微信公众号接入ChatGPT机器人的方法

    这篇文章主要介绍了微信公众号接入ChatGPT机器人的方法,不难,总共可以分为两步,一是在云服务器上部署自定义消息处理服务,二是微信公众号配置自己的消息处理服务器,本文给大家讲解的非常详细,需要的朋友可以参考下
    2023-02-02
  • pandas检查和填充缺失值的N种方法总结

    pandas检查和填充缺失值的N种方法总结

    本文主要介绍了pandas检查和填充缺失值的N种方法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Python linecache.getline()读取文件中特定一行的脚本

    Python linecache.getline()读取文件中特定一行的脚本

    Python中使用标准库中的linecache中的getline方法可以从某个文件中读取出特定的一行。
    2008-09-09

最新评论