Skip to main content
 首页 » 编程设计

python之Django 可以为单个请求发送多部分响应吗

2024年10月24日37xing901022

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

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

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

如果这不可能,那么我将不得不在客户端链接请求 - 例如,获取前 20 个对象,如果响应表明会有更多对象,则请求接下来的 20 个等等。这种方法是可行的解决方法,但任何后续请求都依赖于先前的响应。我宁愿问一次,然后得到某种多部分响应。

请您参考如下方法:

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

  1. Firefox 3.5:只渲染最后一部分,其他部分被忽略。
  2. IE 8:将所有内容显示为文本/纯文本,包括边界。
  3. Chrome 3:将所有内容保存在一个文件中,不呈现任何内容。
  4. Safari 4:将所有内容保存在一个文件中,不呈现任何内容。
  5. Opera 10.10:有点奇怪。开始将第一部分呈现为纯文本/文本,然后清除所有内容。加载进度条卡在31%。

(数据来源 Diego Jancic)