Django 检查sorl缩略图是否已缓存图像

Django 检查sorl缩略图是否已缓存图像,django,sorl-thumbnail,Django,Sorl Thumbnail,我正在运行一个django应用程序,其中包含sorl缩略图和大量远程图像(sorl从外部源加载图像) 理想情况下,我希望检查sorl是否已经在我的模板中缓存了一个图像,如果没有,则使用ajax加载该图像 阅读文档时,我发现一个exist方法似乎总是返回true {% thumbnail item.image "160x200" crop="center" as im %} {% if im.exists %} <img src="{{ im.url }}">

我正在运行一个django应用程序,其中包含sorl缩略图和大量远程图像(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 %}
{%thumbnail item.image“160x200”crop=“center”as im%}
{%如果im.exists%}
{%else%}
{%endif%}
{%endthumbnail%}

是否有一种方法可以用来检查模板中是否已经缓存了图像?

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

这是一些肮脏的原始sql,使用昂贵的%LIKE%

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

{%thumbnail item.image“160x200”crop=“center”as im%}如果缩略图不存在,则创建该缩略图。在下一行调用exists()将始终返回True,因为如果它不存在,则它是最近创建的。这很有意义。有没有办法在不创建实际图像的情况下创建缩略图对象?我可以在我看来查询kv商店。但这似乎有点黑客,可以通过使用sorl.thumboil.base中get_thumboil中的一些代码来实现。我认为,如果您使用第32行到第50行,并使其中的函数根据缓存的变量返回True/False