在线客服
扫描二维码
下载博学谷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
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
什么是 cookie?cookie和session 有什么区别?
cookie 数据存放在客户的浏览器上,session 数据放在服务器上。cookie 不是很安全,别人可以分析存放在本地的 cookie 并进行 cookie 欺骗,考虑到安全应当使用 session。session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
8357
2019-06-27 11:12:42
Python开发工程师面试中常见知识点集锦(一)
很多Python工程师屡屡碰壁,需要很长时间才能找到合适的工作。虽然有一部分是因为技术能力确实无法满足企业需求,而更多的人技术能力很强仅仅是因为面试过程中没有良好的发挥。所以作为Python开发工程师,不仅仅要掌握知识,同时也要多了解一些面试题。这样在遇到跳槽的时候才能更快的找到满意的工作。下面就是python开发工程师面试中常见的知识点集锦。
10189
2019-06-27 18:11:50
Python开发生成器和迭代器的区别?
Python开发生成器和迭代器的区别?迭代器是一个更抽象的概念,任何对象;迭代器对象,它在容器中逐个访问容器内元素,next()也是 python 的内置函数。
8128
2019-07-01 15:43:20
Python爬虫Ajax动态加载知识点讲解
Python爬虫Ajax动态加载知识点讲解,Ajax动态加载工作原理从网页的url加载网页的源代码之后,会在浏览器里执行JavaScript程序。这些程序会加载出更多的内容,并把这些内容传输到网页中。
9364
2019-07-25 18:03:44
Python 函数默认返回None原因是什么?
Python 函数默认返回None原因:定义的函数没有返回值,Python 解释器就会强行地默认给注入一段返回逻辑!实际上 Python 中有很多行为都是隐性的。
8068
2020-08-19 15:29:51
