我目前正在为客户建立一个投资组合网站,但我在一个小区域遇到了麻烦。我希望能够为每个投资组合项目内联上传多个图像(不同数量),但我看不到明显的方法。
我能看到的最用户友好的方式是带有 JavaScript 控件的文件上传表单,它允许用户根据需要添加更多字段。有没有人遇到过这样的问题?确实,是否有任何自定义库可以解决我的问题?
之前我几乎没有要求修改管理工具,所以我真的不知道从哪里开始。
感谢任何可以阐明的人。
我目前正在为客户建立一个投资组合网站,但我在一个小区域遇到了麻烦。我希望能够为每个投资组合项目内联上传多个图像(不同数量),但我看不到明显的方法。
我能看到的最用户友好的方式是带有 JavaScript 控件的文件上传表单,它允许用户根据需要添加更多字段。有没有人遇到过这样的问题?确实,是否有任何自定义库可以解决我的问题?
之前我几乎没有要求修改管理工具,所以我真的不知道从哪里开始。
感谢任何可以阐明的人。
photologue是 django 的功能丰富的照片应用程序。例如,它可以让您以 zip 文件的形式上传画廊(从某种意义上说,这意味着一次上传多个文件),自动创建不同自定义大小的缩略图,并可以对图像应用效果。我在一个项目中使用过一次,集成并不太难。
您可以使用 Javascript 轻松扩展管理界面。有一篇很好的文章,关于用一点 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
陆地上,请查看内联排序片段。