【发布时间】:2012-02-14 09:11:48
【问题描述】:
我的设置是:Django 1.3/Python 2.7.2/Win Server 2008 R2/IIS 7.5/MS SQL Server 2008 R2。我正在开发一个应用程序,其主要功能是分析上传的文件并生成报告。
阅读django-filetransfers 的文档,我相信这是我一直试图解决的问题的解决方案(即基于表单的文件上传完全阻止了所有 Django 响应直到文件传输完成......即使是中等大小的文件也很可怕)。
文档讨论了通过管道上传到 S3 或 Blobstore,这可能是我最终要做的事情,但在开发过程中,我想也许我可以在我控制的服务器上设置自己的“穷人 S3” .这基本上只是另一个 Django 实例(或者可能是一个简单的 ASP.NET 应用程序),其唯一目的是接收上传的文件。这听起来应该可以通过 django-filetransfers 实现,并且可以解决 Django 响应性问题 (???)。
但是我缺少一些了解它的一般工作原理以及一些细节。也许一个例子会有所帮助:假设我有 MyMainDjangoServer 和 MyFileUploadServer。 MyMainDjangoServer 将提供视图,包括上传表单。 MyFileUploadServer 将“捕获”上传的文件。我的问题/困惑如下:
我的上传表单将包含除文件之外的其他字段...我是否正确理解 MyMainDjangoServer 仍会以某种方式获取该表单数据,减去文件数据(基本上:request.POST),以及文件数据被分流到 MyFileUploadServer?这是如何运作的? MyMainDjangoServer 在上传到 MyFileUploadServer 期间是否仍会阻塞?
我假设我需要在 MyFileUploadServer 上做的是有一个视图/URL 来处理表单请求并吸出 request.FILES 数据。还需要发生什么?其余的表单数据会怎样?
如何为这种情况设置我的 settings.py? django-filetransfers 示例似乎假设为 S3 或 GAE/Blobstore,但可能我缺少一些基础知识。
感谢任何建议/答案...这对我来说是 Django 的一个令人困惑和令人沮丧的领域。
【问题讨论】:
标签: django file-upload django-forms