Django可以针对单个请求发送多部分响应吗?

时间:2015-09-24 10:30:43

标签: python django api rest response

如果这是一个愚蠢的问题,我道歉。我目前正在针对Django API(我也维护)编写,并希望在某些情况下能够在单个请求产生大量对象的情况下生成多个部分响应,而不是发送整个JSON结构作为单一的回应。

有没有这样做的技巧?它需要遵循一个标准,以便使用不同请求库的客户端系统能够使用该功能。

问题是客户端系统在询问时不知道响应中将出现的对象数量。

如果这是不可能的,那么我将不得不在客户端链接请求 - 例如,获取前20个对象&如果响应表明会有更多,请求接下来的20个等等。这种方法是可行的,但任何后续请求都依赖于之前的响应。我宁愿问过一次并做出某种多方面的回应。

1 个答案:

答案 0 :(得分:2)

据我所知,不,你至少还不能发送Multipart http responseMultipart响应仅在http请求中有效。为什么?因为我所知道的浏览器完全支持这一点。

  1. Firefox 3.5 :仅渲染最后一部分,其他部分将被忽略。
  2. IE 8 :将所有内容显示为text / plain,包括边界。
  3. Chrome 3 :将所有内容保存在一个文件中,不会呈现任何内容。
  4. Safari 4 :将所有内容保存在一个文件中,不会呈现任何内容。
  5. Opera 10.10 :奇怪的东西。开始将第一部分渲染为纯文本/文本,然后清除所有内容。加载进度条挂起31%。
  6. (数据归功于Diego Jancic)