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

Creating thumbnails inside a for loop in Django template

我遇到了一个非常奇怪(也许很愚蠢)的错误。我正在尝试在这样的 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)不存在,裁剪后的图片被破坏了计算机。

我注意到的另一件奇怪的事情是所有用户都有相同路径的 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="">

您需要删除 {{ }}。此外,您应该将图像对象传递给模板标签;不只是 URL:

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

更多in the docs.