sorlサムネイルのドキュメントはまだget_thumbnail
関数を参照していますが、これはv.3.2.5には存在しません。(cannot import name get_thumbnail
)
私の人生では、この関数が何に変更されたか、またはこのバージョンのsorlのPythonコードでサムネイルを生成する方法についての参照を見つけることができません。何かアドバイス?
sorlサムネイルのドキュメントはまだget_thumbnail
関数を参照していますが、これはv.3.2.5には存在しません。(cannot import name get_thumbnail
)
私の人生では、この関数が何に変更されたか、またはこのバージョンのsorlのPythonコードでサムネイルを生成する方法についての参照を見つけることができません。何かアドバイス?
私の特定のケースでは、ThumbnailFieldを次のようにextra_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']
さて、数週間前、私は以前にこの問題を実際に解決したことを発見し、覚えていなくてもそれについての短いブログ投稿を書きました-頭を叩きます。探している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))
少しハックですが、extra_thumbnails
フィールドを調整しなくても任意のサムネイルサイズを呼び出すことができるという意味で、Chrisのソリューションよりも優れています。そうは言っても、sorlからの内部インポートが必要ないという意味で、彼のソリューションはよりクリーンであると思いますが、どちらの方法でも機能するはずです。