访问模板中的自定义缩略图选项

Accessing custom thumbnail options in templates

在启用了 Filer 的 Django CMS 项目中,Filer 的管理仪表板允许您创建自定义缩略图选项,类似于使用 easy-thumbnails 定义别名。

如何在模板中访问这些选项?

{{ obj.image.thumbnails }} 允许我从 Filer 包中的 abstract.py 中定义的 DEFAULT_THUMBNAILS 中选择一个,例如 admin_tiny_icon,但我不能我的生活弄清楚如何访问在前端定义的这些自定义选项。

添加新图像时,{{ MEDIA_ROOT }} 中也不会自动为这些自定义缩略图选项创建缩略图,就像 DEFAULT_THUMBNAILS 一样。

您可以创建自己的模板标签以获得所需的缩略图选项,如下所示:

// utils_tags.py

from django.template import Library

from filer.models import ThumbnailOption

register = Library()


@register.simple_tag
def get_thumbnail_option(name, filerimage):
    option = ThumbnailOption.objects.filter(name=name).first()
    if option:
        thumbnailer = filerimage.easy_thumbnails_thumbnailer
        return thumbnailer.get_thumbnail(option.as_dict)
    return filerimage

然后你可以在模板中像这样使用它:

{% load utils_tags %}

{% get_thumbnail_option "Custom thumbnail name" obj.image as thumb %}