process_exception(self, request, exception) 函数有两个参数,exception 是视图函数异常产生的 Exception 对象

process_exception 函数的执行顺序是按照 settings.py 中设置的中间件的顺序的倒序执行

process_exception 函数只在视图函数中出现异常的时候才执行,它返回的值可以是 None,也可以是一个 HttpResponse 对象

如果返回 None,则继续由下一个中间件的 process_exception 方法来处理异常

如果返回 HttpResponse,将调用中间件中的 process_response 方法

middleware_test.py:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

from django.utils.deprecation import MiddlewareMixin
from django.shortcuts import HttpResponse, renderclass Test(MiddlewareMixin):def process_request(self, request):print("这是一个中间件111 --> test11")def process_exception(self, request, exception):print("这里是 Test1的 process_exception")print(exception)return render(request, "index.html")class Test2(MiddlewareMixin):def process_request(self, request):print("这是一个中间件 --> test2")def process_exception(self, request, exception):print("这里是 Test2 的 process_exception")print(exception)

views.py:

1

2

3

4

5

6

7

from django.shortcuts import HttpResponse

def index(request):

    print("这里是 index 页面")

    raise ValueError("这是一个错误")

    return HttpResponse("这里是主页面 index")

访问,http://127.0.0.1:8000/two/index/

Python - Django - 中间件 process_exception相关推荐

  1. [Python]Django中间件

    前言 系列文章目录 [Python]目录 视频及资料和课件 链接:https://pan.baidu.com/s/1LCv_qyWslwB-MYw56fjbDg?pwd=1234 提取码:1234 文 ...

  2. 【python】-- Django 中间件、缓存、信号

    Django  中间件.缓存.信号 一. Django  中间件 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的 ...

  3. Django中间件与python日志模块 介绍

    一.Django中间件 1.1 介绍 Django中的中间件是一个轻量级.底层的插件系统,介于request与response处理之间的一道处理过程(用来处理特定业务的请求和响应).中间件的设计为开发 ...

  4. Python 之 Django框架( Cookie和Session、Django中间件、AJAX、Django序列化)

    12.4 Cookie和Session 12.41 cookie Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务 ...

  5. Python+django网页设计入门(14):使用中间件对抗爬虫

    前导课程: Python+django网页设计入门(13):表单.修改密码 Python+django网页设计入门(12):使用Bootstrap和jQuery Python+django网页设计入门 ...

  6. python middleware模块_详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击...

    一.在django后台处理 1.将django的setting中的加入django.contrib.messages.middleware.MessageMiddleware,一般新建的django项 ...

  7. Django 2.0 学习(20):Django 中间件详解

    Django 中间件详解 Django中间件 在Django中,中间件(middleware)其实就是一个类,在请求到来和结束后,Django会根据自己的规则在合适的时机执行中间件中相应的方法. 1. ...

  8. python middleware_Django 中间件

    Django 中间件 提示:关于 Django 1.10 的变化在本文的最后面有详细的说明. 我们从浏览器发出一个请求 Request,得到一个响应后的内容 HttpResponse ,这个请求传递到 ...

  9. django view返回form error_Django(解决被钓鱼CSRF、Django中间件、反射)

    今日内容概要 django中间件 全局用户身份校验 全局用户权限校验(补充) 全局访问频率校验 ... csrf跨站请求伪造 基于django中间件一个重要的编程思想(反射) https://www. ...

最新文章

  1. linux+python+djiango+mysql编译安装学习笔记
  2. R语言应用实战系列(五)-朴素贝叶斯算法以及ROC和PR曲线
  3. ASP.NET Web API中展示实体Link相关的方面
  4. 删除驱动符号链接出错-变量作用域和RtlInitUnicodeString的问题
  5. 如何在create-react-app中使用Workbox构建自定义PWA
  6. oppo手机充电慢耗电快
  7. 【题解】狼和羊-C++
  8. 微信demo小游戏:飞机大战从无到有
  9. STM32开发 | 移远4G-Cat.1模组EC200N-CN开发
  10. C#——NotifyICON的使用
  11. PS/PR/AE全套插件一键安装包无需注册码
  12. 看单片机原理图-输入输出电路LED指示、按键输入
  13. 如何构建高效可信的持续交付能力,华为云有绝活!
  14. 4571: [Scoi2016]美味
  15. springboot集成Stream上传插件+图片缩略图+视频缩略图
  16. pdf照片显示正常打印时被翻转_注意!五省二级建造师考试准考证开始打印
  17. Android攻城狮fragment
  18. goland debug高级技巧
  19. 最新影视小程序对接苹果cms源码无授权版+详细教程
  20. 小舟从此逝,江海寄馀生。

热门文章

  1. Linux 查看 MySQL 版本的四种方法
  2. 自定义 Git - Git 钩子 (自动部署)
  3. 解决 dubbo问题:Forbid consumer 192.xx.xx.1 access service com.xx.xx.xx.rpc.api.xx from registry 116.xx1
  4. RNN循环神经网络实现预测比特币价格过程详解
  5. JZOJ5857 【NOIP提高组模拟A组2018.9.8】没有上司的舞会
  6. javascript 反斜杠\
  7. [Go] Template 使用简介
  8. 渐变色--浏览器兼容性
  9. Linux(CentOS)挂载NTFS格式的U盘、移动硬盘
  10. FlashCC学习札记