在Django模板中的for循环中创建缩略图

时间:2015-06-06 13:43:39

标签: django image sorl-thumbnail

我面临一个非常奇怪(可能是愚蠢的)错误。我试图在for循环中生成缩略图,如下所示:

{% for u in users %}

    <img src="{{ u.avatar.url }}" />
    {% thumbnail "{{ u.avatar.url }}" "200x200" crop="center" as im %}
        <img src="{{im.url}}" width="{{im.width}}" height="{{im.height}}">
    {% endthumbnail %}

{% endfor %}

图像存在是因为第一个img标签与原始图像一起出现,但由于提供了src而裁剪的图像被破坏(例如:/media/cache/ab/9e/ab9ec80287d675891def81e7f07b819c.jpg)存在于我的电脑中。

Log messages

我注意到的另一个奇怪的事情是所有用户都使用相同路径的img标记。在这种情况下,我有两个用户,这是我渲染的代码:

<img src="/media/images/profile/img.jpg" alt="" />
<img src="/media/cache/ab/9e/ab9ec80287d675891def81e7f07b819c.jpg" width="" height="">
<img src="/media/images/profile/avatar.jpeg" alt="" />
<img src="/media/cache/ab/9e/ab9ec80287d675891def81e7f07b819c.jpg" width="" height="">

1 个答案:

答案 0 :(得分:3)

你需要摆脱{{ }}。此外,您应该将图像对象传递给模板标记;不仅仅是网址:

{% thumbnail u.avatar "200x200" crop="center" as im %}

更多in the docs