django多次流式传输一个字典,没有破坏JSON

时间:2018-05-22 14:14:27

标签: python json django stream

我想使用Django传输响应。为了做到这一点, 我有这样的观点:

def flights(request, query): req_obj = Flights.RequestObject(query) return StreamingHttpResponse(req_obj.make_response(), content_type="application/json")

为了生成流的数据,我有一个生成器函数“make_response”, 这是“航班”类的方法,实例化为“req_obj”。

生成器函数在特定时刻产生纯python字典。

def make_response(self):
   for _ in range(0,3):
      yield some_dict
      time.sleep(1)

这会导致以下行为:

  • 在第一次收益后,json内容返回有效;
  • 在第二次(和后续)产生之后,返回的json内容无效;

如果返回的字典是这样的

  

{“data”:“some_data”}

, 在第二次收益之后,用户收到的响应是:

  

{“data”:“some_data”} {“data”:“some_data”}

,这是无效的json。

有关如何解决此问题的任何建议?

1 个答案:

答案 0 :(得分:0)

你有没有试过像

这样的东西
req_obj.update(req_obj.make_response())

哪个会用您从方法中新获得的值更新您的初始字典?