从Django流式传输JSON响应的正确方式是什么?例如,对以下内容使用'StreamingHttpResponse`:
def sample_json_view(self):
data = { ... }
resp = http.HttpResponse(content_type="application/json")
json.dump(data, resp)
return resp我的目标是使用StreamingHttpResponse最小化视图中的延迟。在我们写作的地方,StreamingHttpResponse是否提供了比HttpResponse更多的好处?
或者:写入类似文件的HttpResponse对象(就像json.dump一样)是否会使Django / mod_wsgi在开始将响应流式传输到客户端之前缓冲服务器上的整个响应?(增加延迟,必须先生成所有JSON响应)。
发布于 2013-12-13 05:43:37
这取决于您的数据是如何生成的,以及您是否需要在生成所有数据之前呈现内容。Django文档似乎不鼓励这样做,他们说:“只有在绝对需要在将数据传输到客户端之前不迭代整个内容的情况下,才应该使用StreamingHttpResponse。”
有关如何正确使用StreamingHttpResponse的示例,请参见Django 1.5 - using the new StreamingHttpResponse
https://stackoverflow.com/questions/20554534
复制相似问题