sorl缩略图的文档仍然引用get_thumbnail
函数,但这在v.3.2.5中不存在。 (cannot import name get_thumbnail
)
对于我的生活,我找不到任何关于这个函数被改变的参考,或者如何在这个版本的sorl的python代码中生成缩略图。有什么建议吗?
答案 0 :(得分:2)
在我的特定情况下,我使用了一个定义了extra_thumbnails
的ThumbnailField:
class SomeModel(models.Model):
# other kwargs omitted for clarity
image = ThumbnailField(extra_thumbnails={
'inline_preview': {'size': (600,400)},
'small_thumb': {'size': (75,75), 'options':['crop', 'sharpen']})
image
字段会将extra_thumbnails
选项定义的图像的字典作为名为extra_thumbails
的名称的属性:
somemodel_instance.image.extra_thumbnails['inline_preview']
答案 1 :(得分:1)
好吧,几个星期前我发现我之前实际上已经解决了这个问题,我甚至写了一篇关于它的简短blog post而没有记住, - smacks head 。如果它只是你所追求的URL,你可以这样做:
from solr.thumbnail.main import DjangoThumbnail
img = imageObject # a normal image url returned from an ImageField
size = (100,100) # any tuple
img_resize_url = unicode(DjangoThumbnail(img, size))
它有点hackish,但它比Chris的解决方案更好,你可以调用任何缩略图大小,而无需调整extra_thumbnails
字段。话虽如此,我确实发现他的解决方案更清洁,因为没有内部从sorl导入,但两种方式都应该有效。