在Django admin中上传多个图像

时间:2009-05-29 10:12:53

标签: python django image-uploading

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

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

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

感谢任何能够解决问题的人。

2 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:9)

您可以使用Javascript轻松扩展Admin界面。有一个good article正在用一些jQuery魔法完成你想要的东西。

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

class Photo(admin.ModelAdmin):
    class Media:
        js = ('jquery.js', 'inlines.js',)

查看他的来源,您还必须动态添加链接以使用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\')">');
});

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

此外,由于您在inline土地,请查看inline sort snippet