ImageKit в Джанго
Я внедряю ImageKit в приложение Django, и у меня все настроено должным образом. Когда я запускаю команду
$python manage.py ikflush main
команда работает нормально, но ничего не происходит. Ни одно из изображений не будет изменено или сохранено и не будет доступно.
main.models.py:
class ProductImage(models.Model):
product = models.ForeignKey(Product)
image = models.CharField(max_length=255, null=True, blank=True)
original = models.ImageField(upload_to='uploads/product-images/zoom/')
class IKOptions:
spec_module = 'main.specs'
cache_dir = 'uploads/cache'
image_field = 'original'
main.specs.py:
from imagekit.specs import ImageSpec
from imagekit import processors
class ResizeSmall(processors.Resize):
width = 230
height = 289
crop = False
class SmallImage(ImageSpec):
access_as = 'small_image'
pre_cache = True
processors = [ResizeSmall]
в шаблоне: (ничего не печатает)
{% for image in images %}
{{ image.small_image }}<br />
{% endfor %}
У кого-нибудь есть идеи как это отладить? Я действительно хочу использовать ImageKit для этого, но я никогда не реализовывал это раньше. Заранее спасибо!
2 ответа
Ваша модель ProductImage должна наследоваться от imagekit.models.ImageModel, а не models.Model.
Это может быть просто ошибкой форматирования в вопросе, а не в вашем коде. Но IKOptions
должны быть вложены в класс вашей модели:
class ProductImage(models.Model):
# fields, etc...
class IKOptions:
# ...
Кроме того, перед запуском ikflush вы добавили ImageKit в INSTALLED_APPS
в вашем файле настроек?