【问题标题】:how to load image in the size specified in django template?如何以 django 模板中指定的大小加载图像?
【发布时间】:2013-09-09 17:53:12
【问题描述】:

假设,我在一个页面中有 20 张大小为 1600 X 900 的图像。如何以我在模板上指定的大小加载图像?在css中我可以做到。但我想更改图像的实际大小,以便在单击特定图像时,它将加载原始图像的原始大小。有什么办法可以做到吗?我尝试使用easy_thumbnails,它很棒,直到我使用apache服务器部署它时它给我带来了问题。任何帮助将不胜感激。谢谢!

编辑:

.html:

 {% for Status in status %}
    <p class="user">{{ Status.creator.get_full_name }}</p>
    {% if Status.image %}
        <div class="image_image">
            <center>
                <img src="{{ MEDIA_URL }}{{Status.image}}" width=300px />
            </center>
        </div>
        <p class="status_image">{{Status}}</p>
        <span class="clear"></span>
        <hr>
    {% else %}
        <p class="status_status">{{Status}}</p>
        <span class="clear_right"></span>
        <hr>
    {% endif %}
{% endfor %}

【问题讨论】:

  • 您可能需要查看 sorl-thumbnails 的相关信息
  • 好的,我会检查的。谢谢!

标签: django django-templates django-static


【解决方案1】:

尝试使用sorl thumbnail,它甚至支持Amazon S3 Server。

pip install sorl-thumbnail

至已安装的应用程序: 'sorl.thumbnail',

将 {% load thumbnail %} 添加到您的模板中。

{% thumbnail firma.firma_logo "130x110" format="PNG" as im %}
        <div class="logo" style="background-image:url('{{ im.url }}')"></div>
{% endthumbnail %}

制作图像格式PNG很重要,默认转换为JPEG。如果用户以透明格式上传文件,那就太糟糕了。

【讨论】:

  • 你还应该安装图像格式,在 ubuntu 中是这样的: sudo apt-get install libwebp4 libwebp4-dev libfreetype6 libfreetype6-dev libjpeg8 libjpeg8-dev liblcms1 liblcms1-dev libwebp4 libwebp4-dev
  • 谢谢!顺便说一句,我不能使用 PIL 吗?我必须在模板中指定{% empty %} 吗?
  • 你不必使用empty,即使你使用pil,你也需要安装那些库。我不记得为什么了,但我不得不安装 Pillow 而不是 PIL。
  • 好的。但我真的对它的标签感到困惑。你能检查我的html并纠正我如何放置这些标签吗???我已经编辑并添加了。
  • {% thumbnail Status.image "300x110" format="PNG" as im %} { % endthumbnail %}
猜你喜欢
  • 1970-01-01
  • 2020-07-20
  • 2017-09-02
  • 2020-05-27
  • 2013-12-23
  • 2020-01-23
  • 1970-01-01
  • 1970-01-01
  • 2021-10-27
相关资源
最近更新 更多