在线客服
扫描二维码
下载博学谷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开发的魔法方法总结:魔法方法就是可以给你的类增加魔力的特殊方法, __init__ 构造器,__new__才是实例化对象调用的第一个方法,__call__ 允许一个类的实例像函数一样被调用。
8805
2019-07-01 15:55:02
Python开发多进程、多线程以及协程是什么?项目是否用?
其实多线程,多进程,在实际开发中用到的很少,进程:一个运行的程序(代码)就是一个进程,没有运行的代码叫程序;线程:调度执行的最小单位,也叫执行路径;协程:是一种用户态的轻量级线程,协程的调度完全由用户控制。
15975
2019-07-02 16:33:41
Python开发TCP和UDP的区别是什么?优缺点对比总结
Python开发TCP和UDP的区别是什么?优缺点对比总结:UDP 是面向无连接的通讯协议,UDP 数据包括目的端口号和源端口号信息。TCP 是面向连接的通讯协议,通过三次握手建立连接,通讯完成时四次挥手。UDP 速度快、操作简单、要求系统资源较少;TCP 在数据传递时,有确认、窗口、重传、阻塞等控制机制,能保证数据正确性,较为可靠。
9817
2019-07-02 16:47:16
Python面试题 scrapy 框架运行的机制?
scrapy 框架运行的机制从start_urls里获取第一批url并发送请求,请求由引擎交给调度器入请求队列,获取完毕后,调度器将请求队列里的请求交给下载器去获取请求对应的响应资源,并将响应交给自己编写的解析方法做提取处理:
11047
2019-07-04 17:46:45
Python面试题scrapy和scrapy-redis的区别是什么?
Python面试题scrapy和scrapy-redis的区别是什么?为什么选择redis数据库?scrapy 是一个Python爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。选择redis 数据库因为 redis支持主从同步,而且数据都是缓存在内存中的。
10779
2019-07-04 17:55:35
