我遇到了django-uploadify(多文件上传)应用程序,但唯一的模板使用在项目的 wiki 中进行了描述。我需要将它与 django admin 集成。有任何想法吗?
3 回答
@rebus 和 @Mordi 有很好的建议;其中之一可能是您最好的选择。仍然...
当前 Web 浏览器中文件上传的实现仅是单个文件。这是 HTML 标准和浏览器本身的限制。当您在某些 Web 应用程序中看到多个文件上传功能(一次全部/选择多个)时,Flash 或 Java 之类的东西正在发挥作用。如果您愿意,您可以使用 Flash 或 Java 小程序(查看Uploadify - 关于您会发现的最容易使用的),但您必须做一些工作将其绑定到 Django:即映射小程序到 Django 管理员在 POST 上期望的输入。
当我尝试在本地执行此操作时,我个人发现这个包很痛苦。它已经 7 年了,没有维护。django-filer是一个更现代的实现,它在管理面板中内置了这个确切的功能,设置起来很快,而且似乎维护得更好。而且用户界面很棒!
如果您真的开始使用uploadify,我的尝试会非常痛苦。当我去网站下载uploadify jQuery插件时,它是付费下载的。看了一点后,我找到了一个 fork,并且能够在本地运行它,但是由于 python 包很旧,它需要从 python 2.7 进行很多更改。
要将其与您在管理中的项目集成,肯定需要您编写自己的自定义管理模板。在您的 admin.py 中,您必须覆盖默认模板和方法,此常见问题解答有一些见解。在您的新模板中,您将包含 uploadify jquery 脚本,并将上传文件字段放在您的模型字段所在的表单中。当您上传文件时,包中的信号发送器将触发,您只需拦截信号并使用您的预期逻辑处理它
用这个项目很容易实现多张图片上传: