如何检索通过 django-filer easy-thumbnails 生成的缩略图的绝对 url
How to retrieve absolute urls to thumbnails generated via django-filer easy-thumbnails
我使用以下模板标签在我的模板中显示缩略图
{% load thumbnail %}
{% thumbnail obj.image 250x250 crop %}
缩略图模板标签 returns 缩略图图像文件的相对 URL 符合预期。但我希望它是 return 绝对网址。通常 easy-thumbnails 有 THUMBNAIL_MEDIA_URL = '' 设置,允许缩略图的存储构建绝对 url,但它不适用于 django-filer。
有没有其他方法可以实现我想要的?
您可以使用 as
提取缩略图属性
{% thumbnail obj.image 250x250 as thumb %}
{{thumb.url}}
见http://easy-thumbnails.readthedocs.org/en/latest/usage/#thumbnail-tag
编辑:
如果 "absolute" 你的意思是包括网站,我会建议在别处做逻辑。
考虑 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
我使用以下模板标签在我的模板中显示缩略图
{% load thumbnail %}
{% thumbnail obj.image 250x250 crop %}
缩略图模板标签 returns 缩略图图像文件的相对 URL 符合预期。但我希望它是 return 绝对网址。通常 easy-thumbnails 有 THUMBNAIL_MEDIA_URL = '' 设置,允许缩略图的存储构建绝对 url,但它不适用于 django-filer。
有没有其他方法可以实现我想要的?
您可以使用 as
{% thumbnail obj.image 250x250 as thumb %}
{{thumb.url}}
见http://easy-thumbnails.readthedocs.org/en/latest/usage/#thumbnail-tag
编辑:
如果 "absolute" 你的意思是包括网站,我会建议在别处做逻辑。
考虑 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