新しい sorl コードベースでは機能がなくなったようです。
ただし、エンジンを (サブクラス化して) 作成し、メソッドを設定THUMBNAIL_ENGINE
してオーバーライドすることにより、カスタム処理を実装できますcreate()
。
たとえば、角を丸くする処理オプションを追加するには、次のようにします。
from sorl.thumbnail.engines.pil_engine import Engine
class RoundedCornerEngine(Engine):
def create(self, image, geometry, options):
image = super(RoundedCornerEngine, self).create(image, geometry, options)
image = self.cornerize(image, geometry, options)
return image
def cornerize(self, image, geometry, options):
if 'cornerradius' in options:
...whatever...
return image
そして、テンプレートでそれを次のように呼び出します(オプションに注意してくださいcornerradius
):
{% thumbnail my_image "300x150" format="PNG" cornerradius=10 as thumb %}
<img class="thumb" src="{{ thumb.url }}">
{% endthumbnail %}