对django wagtail图像使用简单的缩略图
wagtail-easy-thumbnails的Python项目详细描述
一个简单的django应用程序,允许您对来自Wagtail的图像使用easy_thumbnails, 包括焦点,你可以在图片上定义摇尾。
这将允许您使用在wagtail中的缩略图 不提供,例如每个图像的JPEG质量控制,强制图像为JPEG和 定制处理器强大的扩展机制。
这不是wagtail图像标签的替换品。相反,你需要使用 普通的easy_缩略图标签与过滤器和处理器相结合,可以很好地工作 用摇摆的图像。
快速启动
从pypi安装wagtail_easy_thumbnails:
pip install wagtail_easy_thumbnails
将wagtail_easy_thumbnails添加到INSTALLED_APPS设置中,如下所示:
INSTALLED_APPS = ( ... 'wagtail_easy_thumbnails', )
将以下筛选器添加到您的EASYTHUMBNAIL_PROCESSORS设置中,如下所示:
THUMBNAIL_PROCESSORS = ( # use this one instead of normal scale_and_crop 'wagtail_easy_thumbnails.processors.wagtail_scale_and_crop_with_focal_area', # 'easy_thumbnails.processors.scale_and_crop', ... other processors )
在模板中使用,如下所示:
{% load thumbnail wagtail_thumbnail %} <img src="{% thumbnail page.visual|wagtail_thumbnailer 300x100 crop zoom=100 %}" alt=""/> <!--or--> {% thumbnail page.visual|wagtail_thumbnailer 300x100 crop zoom=100 as cropped_image %} <img src="{{ cropped_image.url }}" width="{{ cropped_image.width }}" height="{{ cropped_image.height }}" alt=""/>
在代码中使用如下:
from easy_thumbnails.files import get_thumbnailer ... properties = { 'size': ..., 'crop': True, 'zoom': 100, } # image is the wagtail image (or subclass) instance wrapped_image = WagtailThumbnailerImageFieldFile(wagtail_image=image) # thumbnailer has the same properties as the template tag result, so .url, .width, etc. thumnailer = get_thumbnailer(wrapped_image).get_thumbnail(properties)
缩略图选项
以下选项可用于创建缩略图。有关所有缩略图选项,请参见Easy Thumbnails documentation。
size是必需的选项,它定义生成的图像 必须放在里面。如果宽度或高度之一为0,则原始 图像分别用于确定生成的宽度或高度。
仅当需要给定的功能时,才提供其他选项:
- crop需要使处理器执行任何操作。如果没有给定,则使用普通的scale_and_crop处理器。此处理器不支持裁剪选项。
- zoom=<N>,其中n是一个介于0和100之间的整数,用于指定图像离被裁剪的焦点区域的距离。默认值为0,表示尽可能接近外部图像边界,100表示尽可能接近焦距区域。
- upscale如果给定结果图像小于请求的大小,则图像将被放大。
如果wagtail图像没有定义焦点区域,则正常的scale_and_crop处理器 用于生成缩略图。
设置
可以设置以下设置以覆盖默认值。另请参见Easy Thumbnails documentation 所有缩略图设置。
- WAGTAIL_FOCAL_AREA_IMAGE_DEBUG:默认为False。如果设置为True,焦点区域将绘制在生成的图像上(对调试有用)。
- WAGTAIL_THUMBNAIL_ALWAYS_RECREATE默认为False。如果设置为True,则无论缓存的版本如何(对调试有用),都会重新生成缩略图。
更改
0.3(2017-11-27)
- 修正了异常情况下的零误差除法(感谢lucasmoeskops)
0.2(2017-03-15)
- StupU.Py中固定的GITHUB链接(感谢ReDuxoistor)
- 修正了当焦距小于目标大小时应用过多缩放的错误
- 一些代码清理
许可证
此软件是在麻省理工学院的许可下发布的,请参阅许可证。