在线客服
扫描二维码
下载博学谷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开发工程师面试中常见知识点集锦(一)
很多Python工程师屡屡碰壁,需要很长时间才能找到合适的工作。虽然有一部分是因为技术能力确实无法满足企业需求,而更多的人技术能力很强仅仅是因为面试过程中没有良好的发挥。所以作为Python开发工程师,不仅仅要掌握知识,同时也要多了解一些面试题。这样在遇到跳槽的时候才能更快的找到满意的工作。下面就是python开发工程师面试中常见的知识点集锦。
7503
2019-06-27 18:11:50
Python开发生成器和迭代器的区别?
Python开发生成器和迭代器的区别?迭代器是一个更抽象的概念,任何对象;迭代器对象,它在容器中逐个访问容器内元素,next()也是 python 的内置函数。
6035
2019-07-01 15:43:20
Python面试题 Tornado的核心是什么?
Tornado 的核心是 ioloop 和 iostream 这两个模块,前者提供了 一个高效的 I/O 事件循环,后者则封装了 一个无阻塞的 socket 。 通过向 ioloop 中添加网络 I/O 事件,利用无阻塞的 socket ,再搭配相应的回调函数,便可达到梦寐以求的高效异步执行。
9219
2019-07-02 17:43:40
Python知识点详解:UDP和TCP协议的介绍
UDP和TCP都是传输层协议,不过却又一些不同。TVP提供IP环境下的数据可靠传输,它是实现为所发送的数据凯皮出连接的通道,然后再进行数据的发送。而UDP并不为IP提供可靠性,流控或差错回复功能。UDP和TCP到底如何定义?应用场景是如何的呢?下面小编就详细为大家解析一下。
6582
2019-07-11 17:18:53
怎样解决数据库高并发的问题
解决数据库高并发使用缓存式的Web应用程序架构、增加Redis缓存数据库、增加数据库索引、页面静态化、使用存储过程、MySQL主从读写分离、分表分库、负载均衡集群。
8550
2019-07-16 16:20:35