我刚接触缓存,而且我已开始使用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)
这会在缓存文件夹中创建缩略图,但它们不会链接到图像。当我打开包含图像的页面时,它会重新创建另一个缩略图。如何使用low level API创建缩略图并将其链接到Song
对象?
答案 0 :(得分:0)
除了使用不同的选项外,您的代码应该有效。正如您可以在the documentation中读到的那样,sorl-thumbnail将几个选项放入作为缩略图文件名称的哈希中。在附加的代码中,低级代码中的额外质量选项将创建不同的哈希。因此它应该与:
一起使用for song in Song.objects.all():
im = get_thumbnail(song.artwork, '185x185', crop='center')