Укажите суффикс имени файла с easy-thumbnails в django

Я использую библиотеку easy-thumbnails в django для создания миниатюр. Тем не менее, я не могу понять, как переопределить процесс именования миниатюр. В данный момент библиотека добавляет размер миниатюры к имени файла, но я хотел бы указать собственное имя, например _large. Как это можно сделать, пожалуйста?

2 ответа

Решение

django-easy-thumbnails использует функцию переименования по умолчанию. Вы можете написать свою собственную функцию именования и установить ее в настройках в качестве функции именования по умолчанию, которую должна использовать библиотека, как описано здесь 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'

Вы можете определить свой собственный thumbnail-processor и поместите в качестве последней строки здесь: http://easy-thumbnails.readthedocs.org/en/latest/ref/settings/

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

не проверено, хотя

Другие вопросы по тегам