5

私はメディアサービスのウェブサイトを持っていて、私のファイルストレージはメディアフォルダから他のフォルダにあり、サムネイルを他のフォルダにキャッシュしたいのですが、どうすればsorl-thumbnailキャッシュフォルダを変更できますか?また、サムネイルを作成するために絶対パスで画像を与えるにはどうすればよいですか?

4

1 に答える 1

6

sorl-thumbnail によって作成されたサムネイルの名前付けを担当するクラスを見てみましょう。

それをサブクラス化し、カスタム クラスをサムネイル バックエンドとして使用できます。

# in your settings.py:
THUMBNAIL_BACKEND = 'path.to.MyThumbnailBackend'


#some module, in one of yours apps:
from sorl.thumbnail.base import ThumbnailBackend
from sorl.thumbnail.conf import settings
from sorl.thumbnail.helpers import tokey, serialize

class MyThumbnailBackend(ThumbnailBackend):
    def _get_thumbnail_filename(self, source, geometry_string, options):
        """
        Computes the destination filename.
        """
        key = tokey(source.key, geometry_string, serialize(options))
        # make some subdirs
        path = '%s/%s/%s' % (key[:2], key[2:4], key)
        return '%s%s.%s' % (settings.THUMBNAIL_PREFIX, path,
                            EXTENSIONS[options['format']])

前のスニペットは_get_thumbnail_filename. このコードを微調整して、都合のよい名前を生成できます。

于 2013-06-24T23:33:20.620 に答える