如何在Django管理页面中使用UPLOADIFY集成多张图片上传?

10

我遇到了django-uploadify多文件上传)应用程序,但该项目的wiki中只描述了模板的使用方法。我需要将其与Django管理后台进行集成。有什么想法吗?


1
django-photologue 可以上传 zip 文件并从中创建图库,如果您需要批量上传的话。 - Davor Lucic
另一种近似方法是将其上传到FTP文件夹/亚马逊S3或类似服务,并在Django中处理它(仅需要管理员提供文件夹路径)。 - Mordi
filebrowser-safe包被一个基于Django的CMS套件Mezzanine使用。 - Blackdoor
3个回答

0

@rebus和@Mordi提出了很好的建议,其中一个可能是最好的选择。但是...

当前Web浏览器中文件上传的实现仅限于单个文件。这是HTML标准和浏览器本身的限制。当您在某些Web应用程序中看到多个文件上传功能(一次性全部/选择多个),则使用了类似Flash或Java的东西。如果您想要,您可以潜在地使用Flash或Java小程序(请查看Uploadify - 这是您能找到的最易于使用的工具之一),但是您必须进行一些工作将其与Django连接起来:即将小程序的输出映射到Django Admin在POST时期望的输入。


你尝试过使用django-uploadify吗?如果是的话,如何将其集成到Django管理界面并将其与我的模型绑定? - megido
没有,我从未尝试过,但这应该会让它变得更容易。也许你应该编辑你的问题/发布一个新的问题,关于将其与Django管理集成。 - Chris Pratt
改变主题关于django-uploadify。 - megido

0
个人认为,当我尝试在本地执行此操作时,这个软件包让我感到很痛苦。它已经有7年之久,且未得到维护。 django-filer 是一个更现代的实现,具有此精确功能内置于管理面板中,安装速度很快,而且维护得更好。并且其用户界面非常出色!
如果您真的要使用uploadify,我的尝试会相当痛苦。当我去网站下载uploadify jQuery插件时,需要付费下载。经过一番寻找,我找到了一个分支,并能够在本地运行它,但由于python软件包较旧,因此需要对python 2.7进行大量更改。
要将其与项目集成到管理面板中,肯定需要编写自己的自定义管理模板。在您的admin.py文件中,您需要覆盖默认模板和方法,this faq提供了一些见解。在新模板中,您将包含uploadify jquery脚本,并将上传文件字段放置在模型字段所在的表单中。当您上传文件时,软件包中的信号发送器将触发,您只需拦截信号并使用所需逻辑处理即可。

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接