我是缓存新手,我已经开始使用sorl-thubmnail
和memcached
。
我在模板中创建缩略图,如下所示
{% thumbnail song.artwork "185x185" crop="center" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}
这个可以很好地创建缩略图。
我想做的是预先为所有图像预热缓存。
我是这样做的
for song in Song.objects.all():
im = get_thumbnail(song.artwork, '185x185', crop='center', quality=99)
这将在缓存文件夹中创建缩略图,但它们不链接到图像。当我打开一个有图片的页面时,它会重新创建另一个缩略图。我如何使用低级API创建缩略图,并将其链接到Song
对象?
除了使用不同的选项外,您的代码应该可以正常工作。正如您可以在文档sorl-thumbnail中读到的那样,将几个选项放入作为缩略图文件名称的散列中。在附加的代码中,低级代码中的额外质量选项将创建不同的散列。因此,它应该使用:
for song in Song.objects.all():
im = get_thumbnail(song.artwork, '185x185', crop='center')