django-image-kit Изменение значений процессора внутри Admin Save - PullRequest
0 голосов
/ 24 февраля 2012

Я пытаюсь использовать image-kit для загрузки изображений администратора. В моей форме редактирования есть поля для ширины и высоты. Мне нужен способ передать эти значения процессорам Image-Kit.

Но я не могу найти способ ...?

1 Ответ

0 голосов
/ 25 февраля 2012

Ответ:
Версия Imagekit является версией для разработчиков (2, 0, 0, 'alpha', 1) Предположим, мы в модели изображения admin.py


эта функция будет использоваться как вызываемая, экземпляр объекта изображения

def getThumb (файл, экземпляр): return [resize.ResizeToFill (width = instance.width, height = instance.height)]

Класс изображения (СМИ):
width = models.IntegerField (blank = True, null = True) height = models.IntegerField (пусто = True, null = True)

file = models.ImageField(upload_to='static/uploads/images/bigs')  
### IMAGE-KIT we are passing a callable function as processors to ImageSpecField 
thumbnail = ImageSpecField( processors = getThumb, image_field='file', format='JPEG', options={'quality': 90}) 

### override admin save function
def save(self, *args, **kwargs):       
    # Call the "real" save() method in the base class 'models.Model'        
    super(Image, self).save(*args, **kwargs) 
    test = Image.objects.all()[0]  
    test.thumbnail.width ### getting a property means completing upload of imagekit file
...