我正在Django应用程序中实现ImageKit,根据我的知识,我已经完成了所有设置。当我运行命令
时$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,但我以前从未实现过。 提前致谢!
答案 0 :(得分:1)
这可能只是问题中的格式错误,而不是代码中的格式错误。但是IKOptions
应该嵌套在你的模型类中:
class ProductImage(models.Model):
# fields, etc...
class IKOptions:
# ...
此外,在运行ikflush之前,您是否已将ImageKit添加到设置文件中的INSTALLED_APPS
?
答案 1 :(得分:1)
您的ProductImage模型需要继承imagekit.models.ImageModel而不是models.Model。