通过一个表单字段在 Django 中上传多个文件

Posted

技术标签:

【中文标题】通过一个表单字段在 Django 中上传多个文件【英文标题】:Uploading multiple files in Django through one form field 【发布时间】:2010-12-14 23:31:36 【问题描述】:

是否有任何自定义小部件(或特殊的魔术方式)可以通过一个表单字段上传多个文件(或整个文件夹!)? 我尝试过this multifile widget,但它使用了许多简单的 FileFiled。

【问题讨论】:

【参考方案1】:

不,您不能这样做 - html 文件输入不允许这样做。

【讨论】:

【参考方案2】:

正如丹尼尔所说,文件输入字段不能支持多个文件。但是,有一些方法可以使用 SWFUpload 之类的东西。您如何将该工作流程集成到 Django 应用程序中,我不太确定。

【讨论】:

SWFupload 非常适合在 django 中上传多个文件,并且易于实现(它是经典的上传)。唯一的问题是您是否需要身份验证;如果您需要身份验证,则必须小心使用 swfupload.cookies 插件。另外,将此装饰器添加到您的视图以允许 cookie 登录:github.com/revolunet/django-skeleton/blob/master/core/…【参考方案3】:

https://github.com/tstone/django-uploadify 是一个可重用的 Django 应用,它集成了http://uploadify.com。

来自 Uploadify 的网站:

Uploadify 是一个 jQuery 插件,它在您的网站上集成了一个完全可定制的多文件上传实用程序。它混合使用 javascript、ActionScript 和任何服务器端语言,在页面上的任何 DOM 元素上动态创建实例。

【讨论】:

【参考方案4】:

HTML 5 现在允许在单个表单控件中上传多个文件。

http://www.w3.org/TR/html-markup/input.file.html#input.file.attrs.multiple

【讨论】:

以上是关于通过一个表单字段在 Django 中上传多个文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用无效标识符作为 django 表单字段名称

通过表单从不同字段上传多个文件并使用express multer存储到mongodb数据库中

Django 多文件字段

使用 dropzone 和使用 FormValidation 插件的其他表单字段上传多个文件

使用文件字段编辑 Django 模型而不重新上传文件

Django 表单验证、clean() 和文件上传