使用memcached和sorl缩略图预热缓存



我是缓存新手,我已经开始使用sorl-thubmnailmemcached

我在模板中创建缩略图,如下所示

{% 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') 

最新更新