我在网上搜索我的问题,但找不到明确的答案或任何示例。
基本上,我想使用 sorl 并希望在模型保存期间调整源图像的大小以将其调整为 640x480 大小,这样我就不会最终将用户的原始 2.5 MB 文件存储在磁盘上。然后,我将使用模板标签从我的源文件中创建常规缩略图,如 sorl 中所述。
我遇到了几个来源,指的是使用应该在 sorl.thumbnail.fields 中可用的 ThumbnailField 模型字段。请参阅此处的链接。但是,在我从树干获取的最新 sorl 副本中,我没有看到任何 ThumbnailField 或 ImageWithThumbnailsField。我尝试在模型中导入它相应地失败了。我看到这些参考资料很旧,我想知道我是否可以使用最新的 sorl 实现相同的效果。
另一方面,sorl 文档仅指出 sorl.thumbnail 中的 ImageField(参见此处),它没有任何大小参数来控制源调整大小。
顺便说一句,我看到带有输入参数 source_resize 的 easy_thumbnail 可以使用此功能。
任何帮助将不胜感激!
概括
我接受了下面的答案,但是我觉得对这个用例的自然 sorl 支持非常有用 - 即将 resize_source 参数添加到 sorl 的 ImageField 以允许调整源图像的大小。以下是这在该领域有用的两个因素:
如果您的应用不需要它,请不要存储用户的巨大原始图像。节省磁盘空间。
如果您没有特定的极高质量原因,则不要花费额外的 CPU 来调整来自巨大源图像的缩略图大小。为了避免这种情况,可能会在模板中写入嵌套标签以从较小尺寸的图像中获取缩略图,但它很快就会变得烦人。