探究django能否通过线程返回http请求

我的django版本: 1.11.2

首先说两点知识:

1. django在1.7版本之后服务默认是多线程的,也可以在开启服务时命令加个 [--nothreading] 的参数使服务禁止使用线程响应请求。官方文档

2. view 函数一定要返回一个 HttpResponse 对象

 

由于某些需求,多线程服务情况下,本来我想,来一个请求便自己开一个线程去取数据,然后通过这个线程响应这个请求,主线程就不会阻塞。然而由于view函数自己一定要返回一个 HttpResponse 对象,所以只能把结果返回给主线程?

疑问:

1. 看到网上有使用tornado作为django服务器从而使django的服务变成异步的形式。异步的话从结果来看就可以相当于前面线程返回请求的想法了吧,这个怎么理解?

2. 网上看一篇文章 文章链接 ,大意是:“从请求到响应要经过几个中间件,在Middleware(中间件)这个地方把所有Request拦截住,用我们自己的方式完成处理以后直接返回Response”。我的理解是,只要重写某个中间件的方法就可以了。其中的 process_view 方法引人注意。它有个 callback 参数,我想应该通过这里会有回调的方式处理吧。

后记:

貌似用闭包可以

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值