检查sorl-thumbnail是否已缓存图像

时间:2012-11-29 23:25:18

标签: django sorl-thumbnail

我正在运行带有sorl-thumbnail和许多远程图像的django应用程序(sorl从外部源加载图像)。

理想情况下,我想检查sorl是否已经在我的模板中缓存了图像,如果没有,请使用ajax加载图像。

阅读文档后,我发现了exist方法似乎总是返回true

{% thumbnail item.image "160x200" crop="center" as im %}
    {% if im.exists %}
        <img src="{{ im.url }}">
    {% else %}
        <!-- load image with ajax -->
    {% endif %}
{% endthumbnail %}

是否有一种方法可用于检查图像是否已在模板中缓存?

1 个答案:

答案 0 :(得分:0)

我最终为我的模型使用了一种方法。

这是使用昂贵的%LIKE%的一些脏的原始SQL。

def has_image_cached(self):
        from django.db import connection
        cursor = connection.cursor()
        cursor.execute("SELECT * FROM thumbnail_kvstore WHERE value LIKE %s",['%'+self.imageurl+'%'])
        row = cursor.fetchone()
        if row is None:
            return False
        return True