我正在尝试优化我正在使用Django / Flash构建的网站,并且在使用Django迭代块()功能时出现问题。我正在使用request.POST数据而不是通过表单(使用request.FILES)将图像从Flash发送到Django。我预见的问题是,如果用户量很大,我可能会杀死内存。
但似乎Django只允许使用request.FILES迭代块。有办法:
1)将我的request.POST数据包装成request.FILES(从而欺骗Django)
或
2)使用带有request.POST数据的chunks()
答案 0 :(得分:1)
chunks()
方法仅适用于django.core.files.uploadedfile.UploadedFile
对象,该对象本身是django.core.files.base.File
的子级。来自documentation for handling uploaded files:
最后一块拼图是 处理来自的实际文件数据 request.FILES。每个条目都在此 dictionary是一个UploadedFile对象 - 围绕上传文件的简单包装。
因此,如果您可以创建自己的UploadedFile
对象,那么您可以使用chunks()
切实可行。我建议在DjangoSnippets上窥探一下,可能会有一些代码可以作为如何执行此操作的示例。