使用 sorl 的 django 管理面板中的缩略图
我试图让我在 Django 管理面板中上传的图片显示为缩略图而不是路径。我已经安装了 sorl 并且可以制作缩略图显示在我的视图中。
我找到了 2 个片段(http://www.djangosnippets.org/snippets/579/ 和 http://www.djangosnippets.org/snippets/934/)我曾尝试实现,但由于文档贫乏以及我对 Django 框架的理解尚浅,两次尝试都失败了。
有人可以提供一个简单的分步指南来指导我如何让它发挥作用吗?
谢谢!
I am trying to have the pictures I upload in the Django admin panel to show up as thumbnails instead of the path. I have sorl installed and can make thumbnails that show up in my views.
I have found 2 snippets (http://www.djangosnippets.org/snippets/579/ and http://www.djangosnippets.org/snippets/934/) that I have tried to implement, but both attempts have failed because of the meager documentation and my as yet shallow understanding of the Django framework.
Could someone please provide a dumbed-down step-by-step guide of how I can get this to work?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我知道这是一篇旧帖子,但我认为我可能找到了比上面的管理模板覆盖方法更短的方法(尽管这是一个非常棒的解决方案 - 我必须在另一种情况下使用它)。这只是直接调用 sorl 函数来生成缩略图。
在 myapp/admin.py 中,
我基于以下问题,但添加了 sorl 功能。
Django 管理和显示缩略图
I know this is an old post, but I think I may have found a shorter way than the admin template override method above (though that is a pretty awesome solution - I'll have to use it in another circumstance). This simply does a call directly to the sorl function to generate the thumbnail.
In myapp/admin.py
I based this off of the following question but added the sorl functionality.
Django admin and showing thumbnail images
是的 :) 我可以 ;)
首先,您需要创建一个处理缩略图的自定义模板标签:
其中 item.preview.thumbnail_tag 是 sorl 创建的缩略图 :)
[我从默认模板标签中获取了原始代码]
其次,您需要为您的模型创建一个模板(使用新的自定义模板标签),它必须位于此目录架构中:
templates_dir/admin/app_name/model/change_list.html
并具有以下代码:
正如您在标记函数中看到的那样,您需要创建另一个模板(称为change_list_result.html)以正确显示图像:
所以最后您'将有 3 个文件:
当然,必须将 templatetags 添加到 settings 中的 INSTALLED_APP 中; )
这就是全部;)希望这会有所帮助。
Yeah :) I can ;)
First you need to create a custom template tag that handles the thumbnail:
where item.preview.thumbnail_tag is the thumnail created by sorl :)
[I got the original code from the default template tag]
Second you need to create a template for your model (that uses the new custom template tag), it must be in this directory schema:
templates_dir/admin/app_name/model/change_list.html
and have the following code:
as you can see in the tag function you need to create one more template (called change_list_result.html) for display the image correctly:
so at the end you'll have 3 files:
and, of course, templatetags must be added to INSTALLED_APP in settings ;)
this is all ;) Hope this can be helpful.