【发布时间】:2010-12-28 05:59:00
【问题描述】:
我正在尝试找到将大文件从 python 应用程序发布到 Django 服务器的最佳方式(最有效的方式)。
如果我在 Django 端依赖 raw_post_data,那么所有内容都需要在 RAM 中才能读取它,如果收到的文件是 100 兆,这似乎根本没有效率。
使用 Django 的文件上传方法是否更好。这意味着使用多部分/表单数据帖子。
或者更好的东西?
劳伦特
【问题讨论】:
我正在尝试找到将大文件从 python 应用程序发布到 Django 服务器的最佳方式(最有效的方式)。
如果我在 Django 端依赖 raw_post_data,那么所有内容都需要在 RAM 中才能读取它,如果收到的文件是 100 兆,这似乎根本没有效率。
使用 Django 的文件上传方法是否更好。这意味着使用多部分/表单数据帖子。
或者更好的东西?
劳伦特
【问题讨论】:
我认为只有小于 2.5MB 的文件存储在内存中,任何大于 2.5MB 的文件都会流式传输或写入临时目录中的临时文件..
参考: http://simonwillison.net/2008/Jul/1/uploads/ 和这里http://docs.djangoproject.com/en/dev/topics/http/file-uploads/
【讨论】:
如果您真的想优化它并且不希望 Django 在字节流传输时受到影响,从而占用 Django 线程之一,您可以使用 nginx upload module (另见this blog post)
【讨论】: