2009-05-29 171 views
9

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

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

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

谢谢任何​​能够阐明光芒的人。

回答

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

9

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

+1

+1 Photologue真的很不错。 – 2009-05-29 13:38:37