I have a working solution (verified with scol-thumbnail 11.12.1b). Wand backend required:
from sorl.thumbnail.base import (
ThumbnailBackend, EXTENSIONS,
default_settings as thumbnail_default_settings
)
EXTENSIONS.update({'GIF': 'gif'})
class GifThumbnailBackend(ThumbnailBackend):
def _get_format(self, file_):
file_extension = self.file_extension(file_)
if file_extension == '.jpg' or file_extension == '.jpeg':
return 'JPEG'
elif file_extension == '.png':
return 'PNG'
elif file_extension == '.gif':
return 'GIF'
else:
from django.conf import settings
return getattr(settings, 'THUMBNAIL_FORMAT', thumbnail_default_settings.THUMBNAIL_FORMAT)
THUMBNAIL_ENGINE = 'sorl.thumbnail.engines.wand_engine.Engine'
THUMBNAIL_BACKEND = 'tools.sorl_extensions.GifThumbnailBackend'
THUMBNAIL_PRESERVE_FORMAT = True
source
share