【问题标题】:Django easy_thumbnails accessing image URLsDjango easy_thumbnails 访问图像 URL
【发布时间】: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

【问题讨论】:

    标签: django json thumbnails easy-thumbnails


    【解决方案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 错误:-) 谢谢。
    猜你喜欢
    • 2013-11-26
    • 2016-03-27
    • 2015-07-20
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多