在django中使用easy-Thumbnails指定文件名后缀

时间:2015-06-17 07:23:25

标签: django easy-thumbnails

我在django中使用easy-thumbnails lib来创建缩略图。但是,我无法弄清楚如何覆盖缩略图命名过程。目前,lib正在将缩略图大小附加到文件名,但我想指定一个自定义名称,例如_大。怎么可以这样做?

2 个答案:

答案 0 :(得分:1)

django-easy-thumbnails使用default renaming function。您可以编写自己的命名函数并将其设置为库应该使用的默认命名函数,如THUMBNAIL_NAMER所述:

<强> myapp.utils

def namer(thumbnailer, prepared_options, source_filename,
          thumbnail_extension, **kwargs):
   # do something and return name
   pass

<强> settings.py

THUMBNAIL_NAMER = 'myapp.utils.namer'

答案 1 :(得分:0)

您可以定义自己的thumbnail-processor并将最后一行放在此处:http://easy-thumbnails.readthedocs.org/en/latest/ref/settings/#easy_thumbnails.conf.Settings.THUMBNAIL_PROCESSORS

THUMBNAIL_PROCESSORS = (
   'easy_thumbnails.processors.colorspace',
   'easy_thumbnails.processors.autocrop',
   'easy_thumbnails.processors.scale_and_crop',
   'easy_thumbnails.processors.filters',
   'easy_thumbnails.processors.background',
   'yourProject.thumbnail_processors.renaming', #<---- your custom one 
)

和您的处理器文件(yourProject/thumbnail_processors.py)看起来像:

def renaming(image, bang=False, **kwargs):
    """
    rename the filename here and just return the image
    """
    return image

未经测试