在线客服
扫描二维码
下载博学谷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字符串中的\字符代表转义字符、路径名中用来连接路径名、编写太长代码手动软换行。
12046
2019-06-27 15:41:50
Python开发生成器和迭代器的区别?
Python开发生成器和迭代器的区别?迭代器是一个更抽象的概念,任何对象;迭代器对象,它在容器中逐个访问容器内元素,next()也是 python 的内置函数。
7845
2019-07-01 15:43:20
Python开发中match和search的区别是什么
Python开发中match和search的区别:match()函数只检测 RE 是不是在string的开始位置匹配,search()会扫描整个string查找匹配;也就是说 match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none。
9124
2019-07-01 16:12:22
推荐十个Python图像处理工具
今天的世界充满了各种各样的数据,而图像是这些数据的重要组成部分。但当我们在使用它们之前,必须对这些数字图像进行处理、分析和操作,以提高其质量甚至提取一些可以使用的信息。本文将推荐十个Python图像处理工具。
7782
2019-07-09 14:27:16
Flask框架和Django框架的区别是什么?
Flask框架和Django框架的区别:Flask框架自由、灵活,可扩展性强,第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的Python库;Django太重了,除了web框架,自带ORM和模板引擎,灵活和Django能开发小应用,但总会有“杀鸡焉用牛刀”的感觉;
9445
2019-07-16 19:04:16
