Django easy_thumbnails 访问图像 URL
Posted
技术标签:
【中文标题】Django easy_thumbnails 访问图像 URL【英文标题】:Django easy_thumbnails accessing image URLs 【发布时间】:2013-04-16 23:34:10 【问题描述】:是否可以访问easy_thumbs创建的图片的URL?
我有一个模型与 ImageField
和 ModelForm
匹配。
# 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的主要内容,如果未能解决你的问题,请参考以下文章
在 Elastic Beanstalk 上使用 Django + easy-thumbnails/sorl-thumbnail