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文件的中间件配置中我们刚刚的中间件。

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

相关文章

  • 细说NumPy数组的四种乘法的使用

    细说NumPy数组的四种乘法的使用

    这篇文章主要介绍了细说NumPy数组的四种乘法的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python常用的文件及文件路径、目录操作方法汇总介绍

    Python常用的文件及文件路径、目录操作方法汇总介绍

    这篇文章主要介绍了Python常用的文件及文件路径、目录操作方法汇总介绍,本文集合了最常用的一些文件和目录操作函数,并一一介绍它们的作用,需要的朋友可以参考下
    2015-05-05
  • python数学模块(math/decimal模块)

    python数学模块(math/decimal模块)

    这篇文章主要介绍了python数学模块(math/decimal模块),文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • AI与Python人工智能启发式搜索概念理解

    AI与Python人工智能启发式搜索概念理解

    这篇文章主要为大家介绍了AI与Python启发式搜索概念详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • pygame学习笔记(4):声音控制

    pygame学习笔记(4):声音控制

    这篇文章主要介绍了pygame学习笔记(4):声音控制,本文讲解了pygame.mixer启动与初始化、播放声音片段wav文件、播放mp3、wma、ogg音乐文件、控制音量、制作mp3播放器中遇到的问题等内容,需要的朋友可以参考下
    2015-04-04
  • Python Pandas实现将嵌套JSON数据转换DataFrame

    Python Pandas实现将嵌套JSON数据转换DataFrame

    对于复杂的JSON数据进行分析时,通常的做法是将JSON数据结构转换为Pandas DataFrame,所以本文就来看看将嵌套JSON数据转换为Pandas DataFrame的具体方法吧
    2024-01-01
  • python的三目运算符和not in运算符使用示例

    python的三目运算符和not in运算符使用示例

    这篇文章主要介绍了python的三目运算符和not in运算符使用示例,需要的朋友可以参考下
    2014-03-03
  • Python 中导入csv数据的三种方法

    Python 中导入csv数据的三种方法

    这篇文章主要介绍了Python 中导入csv数据的三种方法,内容比较简单,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • Python PyAutoGUI实现自动化任务应用场景示例

    Python PyAutoGUI实现自动化任务应用场景示例

    这篇文章主要为大家介绍了Python PyAutoGUI实现自动化任务应用场景示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Python 基于Selenium实现动态网页信息的爬取

    Python 基于Selenium实现动态网页信息的爬取

    本文主要介绍了通过Selenium和webdrive等库,对动态网页的信息进行爬取。文中的示例代码非常详细,感兴趣的同学快来跟随小编一起学习吧
    2021-12-12

最新评论