【问题标题】:ImageKit in DjangoDjango 中的 ImageKit
【发布时间】:2010-07-29 21:06:22
【问题描述】:

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

【问题讨论】:

    标签: python django imagekit django-imagekit


    【解决方案1】:

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

    【讨论】:

    • 就是这样!你是男人!现在,如果我能在 PIL 中获得 Jpeg 支持...哈哈。
    【解决方案2】:

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

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

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

    【讨论】:

    • 是的,这只是 stackoverflow 如何呈现它的错误。我现在已经修复了它,所以它应该反映它现在嵌套在模型中。我也确实在 INSTALLED_APPS 中添加了“imagekit”
    猜你喜欢
    • 2011-01-23
    • 1970-01-01
    • 2014-06-09
    • 2015-12-12
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    • 1970-01-01
    相关资源
    最近更新 更多