django不保存imagekit中的缩略图


from imagekit.models import ImageSpecField
from imagekit.processors import ResizeToFill
class Image(models.Model):
image = models.ImageField(upload_to='home/', blank=True)
thumbnail = ImageSpecField(source='image', processors=[ResizeToFill(50, 50)],format='JPEG', options={'quality':60})

当我上传图片时。原始图像一切正常。但是没有缩略图。我想这个问题与缓存有关。也许我错了。不知道该怎么办。。。请帮忙。

为了"强制"生成文件,您的'IMAGEKIT_DEFAULT_CACHEFILE_STRATEGYshould implementon_source_saved'。

提供了一个,但包,并添加:

IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY = 'imagekit.cachefiles.strategies.Optimistic'

到您的settings.py将强制在源保存时生成文件。

现在请注意:这"仅"在使用ImageSpecField时有效,如果不正确处理源组,您可能很难将此策略用于templatetagsImageSpec

另一种方法是编写自定义CACHEFILE_STRATEGY`` Insome_app/strategy.py`

class CustomStrategy(object):
"""
A strategy that ensures file creation on save and existence
"""
def on_existence_required(self, file):
file.generate()
def on_content_required(self, file):
file.generate()
def on_source_saved(self, file):
file.generate()

现在,添加

IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY = 'your_app.strategy.CustomStrategy'

对你的settings.py应该像一个符咒一样工作。

最新更新