django - 如何仅为某些别名生成高分辨率缩略图?

标签 django easy-thumbnails

我正在使用 Django 开发一个摄影网站。

由于该网站是“响应式”的,因此我们使用设置的别名预先生成每个图像的多种尺寸。特别是 7 个不同宽度的图像,从 960 到 3,840 像素宽,以 480 像素为增量。当照片全屏显示时(例如,不在 ListView 中),将使用这些图像。

该网站还专为 HiDPI/Retina 显示器/设备而构建。因此,我们希望使用设置:THUMBNAIL_HIGH_RESOLUTION 自动准备某些别名的 @2x 版本,但最值得注意的是,不适用于用于创建的别名用于上面全屏图像的 7 个图像的范围。

由于该项目旨在展示摄影师的作品,因此我们使用相当高质量的设置,因此每张图像的初始尺寸约为 3840x2160 像素,通过我们的预生成,变成大约 50MB 的 JPG。不幸的是,其中近 50% 纯粹是浪费,因为当我们在页面上显示图像列表或图像集合时,我们仅在图像上使用 @2x 版本。这些通常只有 300px/600px 宽,与我们的“全屏”图像集相比相对较小。

我们已考虑禁用 THUMBNAIL_HIGH_RESOLUTION 并仅为 @2x 版本创建新别名,但尚不清楚如何使用别名生成正确的文件名。

那么,我们如何为我们的一些别名预先生成带有标准 @2x(或 _2x)中缀的 HiDPI/Retina 图像?

更新:这现在是 easy_thumbnails 的一个功能!在别名中,您可以使用 HIGH_RESOLUTION: False 来禁用它们的创建,或使用 HIGH_RESOLUTION: True 来强制它们。谢谢@ChrisSmiley!

最佳答案

在easy-thumbnails-1.3中,@2x中缀当前是硬编码的,但在下一个版本中,用户可以通过配置设置选择另一个中缀。看看这个pull request了解详情。

回答你的第二个问题,目前无法仅为某些条目生成 Retina 缩略图。 easy-thumbnails 有一个全有或全无的政策,但从理论上讲,这是可以改变的。

关于django - 如何仅为某些别名生成高分辨率缩略图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21841577/

相关文章:

python - 简单的 django 基于类的通用 View : am I doing it right?

python - 使用 post_save 信号或执行 View 中的逻辑有什么区别

django - 使用 AJAX 上传图像,裁剪我们选择的部分,并保存在 django 管理中

python - Django Easy Thumbnail 不工作

python - 使用 Select2 和 Bootstrap 样式的问题

django - 编辑内联管理对象时出现 MultiValueDictKeyError

django - Django easy_thumbnails 的默认图像

Django,使用 url 检索图像并将其保存在 easy_thumbnails 的 ThumbnailerImageField

django - 如何在不公开数据库中字段名称的情况下使用 OrderingFilter