Django easy_thumbnails 访问图像 URL

Posted

技术标签:

【中文标题】Django easy_thumbnails 访问图像 URL【英文标题】:Django easy_thumbnails accessing image URLs 【发布时间】:2013-04-16 23:34:10 【问题描述】:

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

我有一个模型与 ImageFieldModelForm 匹配。

# models.py

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

按照documentation,我正在使用信号在图片上传时生成两个拇指。

# somewherethatdefinitelygetsloaded.py

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


saved_file.connect(generate_aliases_global)

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

.

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

【问题讨论】:

【参考方案1】:

文档指向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

【讨论】:

啊当然!错过了,我什至链接到文档,n00b 错误:-) 谢谢。

以上是关于Django easy_thumbnails 访问图像 URL的主要内容,如果未能解决你的问题,请参考以下文章

增加管理员中的django-filer预览/缩略图图像

在 Elastic Beanstalk 上使用 Django + easy-thumbnails/sorl-thumbnail

Pycharm创建Django项目并访问Django

win7配置好了django,但访问127.0.0.1:8000失败怎么回事

Django - 从 Django 模板访问外键管理器

Django 和通用访问卡 (CAC)