4

是否可以访问 easy_thumbs 创建的图像的 URL?

我有一个模型与 aImageField和 aModelForm匹配。

# models.py

class ModelWithAnImage(models.Model):
    image = ThumbnailerImageField(
        upload_to='images',
    )

按照文档,我在上传图像时使用信号生成两个拇指。

# somewherethatdefinitelygetsloaded.py

from easy_thumbnails.signals import saved_file
from easy_thumbnails.signal_handlers import generate_aliases_global


saved_file.connect(generate_aliases_global)

这工作正常,但是否可以访问这些拇指的网址?

.

model_with_an_image.image.url返回原始图像(如您所料)。

目的是通过 AJAX 将拇指 url 发送到外部源,因此{% thumbnail %}目前不会帮助我。

# requirements.txt

Django==1.5.1
Pillow==2.0.0
boto==2.9.0
django-storages==1.1.8
easy-thumbnails==1.2
4

1 回答 1

3

文档指向thumbnail_url模板过滤器,它可以返回模板内缩略图的 URL。

您可以从您的视图(或其他任何地方)像真正的函数一样调用模板过滤器,它应该像在模板中一样工作,例如:

from easy_thumbnails.templatetags.thumbnail import thumbnail_url

thumbnail_url = thumbnail_url(model_with_an_image, 'small')

在幕后,过滤器只是调用get_thumbnailer,所以你也可以写:

thumbnailer = get_thumbnailer(model_with_an_image)
thumbnailer.generate = False  # so a not generate a thumb if sthg went wrong
thumbnail = thumbnailer.get_thumbnail(thumbnail_options)
#  do stuff with thumbnail.url
于 2013-04-23T18:06:22.700 回答