Django中的ImageKit

时间:2010-07-29 21:06:23

标签: python django imagekit django-imagekit

我正在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,但我以前从未实现过。 提前致谢!

2 个答案:

答案 0 :(得分:1)

这可能只是问题中的格式错误,而不是代码中的格式错误。但是IKOptions应该嵌套在你的模型类中:

class ProductImage(models.Model):
    # fields, etc...
    class IKOptions:
        # ...

此外,在运行ikflush之前,您是否已将ImageKit添加到设置文件中的INSTALLED_APPS

答案 1 :(得分:1)

您的ProductImage模型需要继承imagekit.models.ImageModel而不是models.Model。