我遇到了django-uploadify(多文件上传)应用程序,但该项目的wiki中描述了唯一的模板使用。我需要将它与django管理员集成。有什么想法吗?
@rebus和@Mordi有很好的建议;其中一个可能是你最好的选择。不过。。。
当前在web浏览器中实现的文件上载仅为单个文件。这是HTML标准和浏览器本身的限制。当你在一些网络应用程序中看到多个文件上传功能(一次全部/选择多个)时,Flash或Java之类的东西就会发挥作用。如果你愿意的话,你可能会使用Flash或Java小程序(看看Uploadify——这是你能找到的最容易使用的),但你必须做一些工作将它绑定到Django中:即将小程序的输出映射到DjangoAdmin在POST上期望的输入。
就我个人而言,当我尝试在本地执行此操作时,我发现这个包很痛苦。它已经7年了,没有保养。django-filer是一个更现代的实现,它在管理面板中内置了这一确切的功能,设置起来很快,维护起来也更好。用户界面非常棒!
如果你真的开始使用uploadify,我的尝试是相当痛苦的。当我去网站下载uploadify jQuery插件时,它是付费下载的。经过一番查找,我找到了一个fork,并能够在本地运行,但由于python包很旧,它需要对python 2.7进行大量更改。
要将其与您的项目集成在管理中,肯定需要您编写自己的自定义管理模板。在你的admin.py中,你必须覆盖默认的模板和方法,这个faq有一些见解。在你的新模板中,你将包括uploadify jquery脚本,并将上传文件字段放在你的模型字段所在的表单中。当你上传文件时,包中的信号发送器将启动,你只需要截取信号并用你想要的逻辑来处理它
用这个项目很容易实现多图像上传:
https://github.com/tstone/django-uploadify