Django中间件实现 * 的方法

作者:hupppppp 时间:2022-10-21 04:47:53 

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

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

来源:https://blog.csdn.net/huplion/article/details/52723543

标签:Django,中间件, ,
0
投稿

猜你喜欢

  • python虚拟环境virtualenv的安装与使用

    2023-07-01 00:23:00
  • 用Python实现给Word文档盖章

    2021-07-08 21:18:00
  • MySQL 8.0.19支持输入3次错误密码锁定账户功能(例子)

    2024-01-28 04:48:00
  • python网络编程之多线程同时接受和发送

    2021-12-01 07:20:09
  • 详细解析Python当中的数据类型和变量

    2023-01-18 23:27:07
  • 利用Python将数值型特征进行离散化操作的方法

    2023-12-02 02:43:36
  • mysql存储过程之游标(DECLARE)原理与用法详解

    2024-01-25 14:23:50
  • 浅谈Keras中fit()和fit_generator()的区别及其参数的坑

    2022-04-18 07:22:26
  • Python实现自定义Jupyter魔法命令

    2022-03-10 11:47:04
  • Go与C语言的互操作实现

    2024-02-04 08:39:28
  • 5个css布局的常见问题及解决方法

    2009-11-19 13:21:00
  • Python标准库之日期、时间和日历模块

    2021-04-11 17:05:14
  • 使用GitHub和Python实现持续部署的方法

    2022-07-16 22:54:35
  • 在python3.64中安装pyinstaller库的方法步骤

    2022-08-12 10:27:05
  • 一文学会使用OpenCV构建文档扫描仪

    2023-08-02 12:35:05
  • python基础教程之常用运算符

    2021-09-07 00:11:47
  • Python configparser模块配置文件过程解析

    2023-03-04 09:35:49
  • 使用Python爬取最好大学网大学排名

    2023-09-17 09:24:45
  • 用 onerror 获取错误信息 js Debug

    2008-11-03 19:08:00
  • 详解Python文本操作相关模块

    2022-01-13 23:23:19
  • asp之家 网络编程 m.aspxhome.com