在Django admin中上传多个图像

Gar*_*ers 9 python django image-uploading

我目前正在为客户建立一个投资组合网站,而我在一个小区域遇到了麻烦.我希望能够为每个项目组合项目上传多个图像(不同数量),我看不到明显的方法.

我能看到的最用户友好的方式是带有JavaScript控件的文件上传表单,允许用户根据需要添加更多字段.有没有人有这样的问题的经验?确实,有没有可以解决我的问题的自定义库?

我之前几乎没有要求修改管理工具,所以我真的不知道从哪里开始.

谢谢任何能够解决问题的人.

mik*_*iku 9

photologue是django的功能丰富的照片应用程序.它允许您上传图库作为zip文件(在某种意义上意味着一次上传多个文件),自动创建不同自定义尺寸的缩略图,并可以将效果应用于图像.我在一个项目中使用过一次,整合并不太难.


tgh*_*ghw 9

您可以使用Javascript轻松扩展Admin界面.有一篇很好的文章,用一些jQuery魔法来完成你想要的东西.

您只需将所有代码放入一个Javascript文件中,然后在admin.py中包含以下内容:

class Photo(admin.ModelAdmin):
    class Media:
        js = ('jquery.js', 'inlines.js',)
Run Code Online (Sandbox Code Playgroud)

查看他的源代码,您还必须动态添加链接以使用Javascript添加更多内联,但这很容易做到:

$(document).ready(function(){
    // Note the name passed in is the model's name, all lower case
    $('div.last-related').after('<div><a class="add" href="#" onclick="return add_inline_form(\'photos\')">');
});
Run Code Online (Sandbox Code Playgroud)

您可能需要做一些样式以使其看起来正确,但这应该让您开始朝着正确的方向前进.

此外,由于您在inline陆地,请查看内联排序代码段.