首页 > 解决方案 > 更改模型中的图像 - Django

问题描述

我想知道在 Django 中处理图像的最佳方法是什么。

就个人而言,我通常使用django-resized但我遇到了一些限制。我在应用程序中有一个砌体布局。有没有办法限制我的照片的大小,例如,600 像素宽(不削减照片的长度,只是缩小)?

img = ResizedImageField(size=[800, 1200], crop=['middle', 'center'])

我主要使用上面的代码。但随后我的砌体系统将失去意义(每张照片的高度和长度都相同)。

我找到了一个像sorl-thumbnail这样的应用程序,但我没有找到在我的模型中使用这样的功能。如果我在模板中这样做。我的用户可以上传一张巨大的照片,该照片将向服务器收费。我看不出存储超大照片的意义。

我的问题是如何在我的 models.py 文件中将图像大小调整为 700 像素(示例)(不裁剪)?

标签: djangomodel

解决方案


你试过这个吗:通过在 Wxh 的初始重新缩放后设置crop="noop" 禁用裁剪

{% thumbnail item.image "100x100" crop="noop" as im %}
    <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}

推荐阅读