在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
django中间件的使用方法,Django在中间件中预置了六个方法;初始化、处理请求前、处理视图前、处理模板响应前、处理响应后、异常处理。

Django在中间件中预置了六个方法,这六个方法的区别在于不同的阶段执行,对输入或输出进行干预,方法如下:
1、初始化:无需任何参数,服务器响应第一个请求的时候调用一次,用于确定是否启用当前中间件。
1.def__init__():
2.pass
2、处理请求前:在每个请求上调用,返回None或HttpResponse对象。
1.defprocess_request(request):
2. pass
3、处理视图前:在每个请求上调用,返回None或HttpResponse对象。
1.defprocess_view(request,view_func,view_args,view_kwargs):
2. pass
4、处理模板响应前:在每个请求上调用,返回实现了render方法的响应对象。
1.defprocess_template_response(request,response):
2. pass
5、处理响应后:所有响应返回浏览器之前被调用,在每个请求上调用,返回HttpResponse对象。
1.defprocess_response(request,response):
2. pass
6、异常处理:当视图抛出异常时调用,在每个请求上调用,返回一个HttpResponse对象。
1.defprocess_exception(request,exception):
2. pass
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Python开发多进程、多线程以及协程是什么?项目是否用?
其实多线程,多进程,在实际开发中用到的很少,进程:一个运行的程序(代码)就是一个进程,没有运行的代码叫程序;线程:调度执行的最小单位,也叫执行路径;协程:是一种用户态的轻量级线程,协程的调度完全由用户控制。
17411
2019-07-02 16:33:41
Python开发Flask中数据库设置?
Flask中数据库设置?#动态追踪修改设置,如未设置只会提示警告#查询时会显示原始SQL语句。
10467
2019-07-02 17:04:55
Python工程师数据库常见面试题
Python最开始是被用于编写自动化脚本的,但是随着python版本的迭代以及语言新功能的添加,越来越多的被用在项目开发领域。作为计算机程序设计语言,都需要与数据库实现交互。所以作为Python开发工程师你一定要熟练数据的使用。下面就为大家分享一些Python开发工程师面试过程中遇到的关于数据库的题目。
11270
2019-07-05 17:43:23
Python知识点详解:UDP和TCP协议的介绍
UDP和TCP都是传输层协议,不过却又一些不同。TVP提供IP环境下的数据可靠传输,它是实现为所发送的数据凯皮出连接的通道,然后再进行数据的发送。而UDP并不为IP提供可靠性,流控或差错回复功能。UDP和TCP到底如何定义?应用场景是如何的呢?下面小编就详细为大家解析一下。
10625
2019-07-11 17:18:53
MySQL和Redis高可用性体现在哪些方面?
MySQL和Redis高可用主要体现三个方面:MySQLReplication是MySQL官方提供的主从同步方案;Sentinel是Redis官方为集群提供的高可用解决方案;Sentinel主要功能。
9925
2019-07-16 17:00:32
