3

sorl thumbnail 的文档仍然引用了该get_thumbnail函数,但这在 v.3.2.5 中不存在。( cannot import name get_thumbnail)

对于我的一生,我找不到任何关于这个函数被更改为什么的参考,或者如何在这个版本的 sorl 的 python 代码中生成缩略图。有什么建议吗?

4

2 回答 2

2

在我的特殊情况下,我使用了一个 ThumbnailFieldextra_thumbnails定义:

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']
于 2011-03-24T14:39:48.410 回答
1

好吧,几周前我发现我之前确实解决了这个问题,我什至写了一篇关于它的简短博客文章,但不记得了,-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 进行内部导入,但两种方式都应该有效。

于 2011-04-20T21:35:09.073 回答