我目前正在为客户建立一个投资组合网站,而我在一个小区域遇到了麻烦。我希望能够为每个投资组合项目上传多个图像(不同数量),我看不到明显的方法。
我能看到的最方便用户的方式是带有JavaScript控件的文件上传表单,允许用户根据需要添加更多字段。有没有人有这样的问题的经验?确实,有没有可以解决我问题的自定义库?
我之前几乎没有要求修改管理工具,所以我真的不知道从哪里开始。
感谢任何能够解决问题的人。
答案 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。