如何检索通过django-filer easy-thumbnails生成的缩略图的绝对URL

时间:2015-04-19 21:51:53

标签: django easy-thumbnails django-filer

我正在使用以下模板标签在我的模板中显示缩略图

{% load thumbnail %}
{% thumbnail obj.image 250x250 crop %}

缩略图模板标记按预期返回缩略图图像文件的相对URL。但我希望它能返回绝对的网址。通常简单的缩略图有THUMBNAIL_MEDIA_URL =''允许缩略图存储构建绝对URL的设置,但它不适用于django-filer。

还有其他方法可以实现我的目标吗?

1 个答案:

答案 0 :(得分:0)

您可以使用as

提取缩略图属性
{% thumbnail obj.image 250x250 as thumb %}
{{thumb.url}}

请参阅http://easy-thumbnails.readthedocs.org/en/latest/usage/#thumbnail-tag

编辑:

如果“绝对”是指包含网站,我建议在其他地方使用逻辑。

image视为FilerImageField,在models.py中创建一个属性。例如:

from django.contrib.sites.models import Site
from easy_thumbnails.files import get_thumbnailer

@property
def thumbnail_absolute_url(self):
    if self.image:
        thumbnailer_options = {'size': (250, 250), 'crop': True}
        thumb = get_thumbnailer(self.image).get_thumbnail(thumbnailer_options)
        thumb_url = thumb.url
        site = Site.objects.get_current()
        return site.domain + thumb_url
    return None

请参阅https://github.com/SmileyChris/easy-thumbnails#manually-specifying-size--options