Проблема Django-ImageKit с исходным изображением ImageSpecField

ImageKit доставил мне немало головной боли за последние несколько дней. У меня возникла внутренняя ошибка сервера на моем сайте, потому что я следовал примеру ImageSpecField на странице GitHub:

avatar_thumbnail = ImageSpecField(source='avatar',
                                  processors=[ResizeToFill(100, 50)],
                                  format='JPEG',
                                  options={'quality': 60})

В результате возникла ошибка:

TypeError: __init__() got an unexpected keyword argument 'source'

Итак, я обновил avatar_thumbnail, чтобы использовать пример ImageSpecField на странице ReadTheDocs:

avatar_thumbnail = ImageSpecField(image_field='avatar',
                                  processors=[ResizeToFill(100, 50)],
                                  format='JPEG',
                                  options={'quality': 60})

И тут я получил ошибку:

TypeError: __init__() got an unexpected keyword argument 'image_field'

Странно, что когда я использую «источник», приложение успешно запускается локально без ошибок. На сервере приложение работает с полем «image_field» без внутренней ошибки, но фактически не создает и не отображает изображение аватара. И на сервере, и на локальном компьютере установлена ​​версия 2.0.4 django-imagekit.

Любой совет был бы замечательным.


person Joshua    schedule 02.04.2013    source источник


Ответы (1)


Я один из сопровождающих ImageKit. Я думаю, что первая проблема заключается в том, что вы просматривали документы для версии для разработки (на GitHub), но использовали последнюю стабильную версию (из PyPI). В настоящее время разрабатывается версия 3.0b, и некоторые вещи изменились по сравнению с серией 2.x — одним из них является то, что аргумент image_field был переименован в source. (Примерно в течение следующей недели мы откажемся от «бета-версии», перенесем 3.0 на PyPI и обновим «последние» документы на RTD.)

С этим исправлением миниатюра должна генерироваться автоматически при доступе к свойству URL-адреса миниатюры (что обычно делается в шаблоне для отображения изображения).

Надеюсь это поможет.

person matthewwithanm    schedule 09.04.2013
comment
Я обновляю свой imagekit с 2.0.4 до 3.2.5 (последняя на данный момент). Я также нашел изменение с image_field на source, но могут быть и другие изменения, о которых я не знаю. Я не смог найти какие-либо журналы изменений на вашем сайте. Можете ли вы указать мне на некоторые правильные ресурсы? Спасибо! - person Shang Wang; 10.02.2015