【发布时间】:2011-09-03 22:42:36
【问题描述】:
我试图在 Django 中编写一个简单的应用程序来缓存一些外部图像并根据请求显示/刷新它们。
我做的是:
{% load cache %}
{% cache 1500 image %}
{% endcache %}
并在单击刷新“按钮”时在视图代码中执行此操作:
key = "template.cache.image.d41d8cd98f00b204e9800998ecf8427e"
cache.delete( key )
现在,当图像被删除或我用一些不同的值替换 src 时,它可以正常工作。当我在{% cache ... %} {% endcache %}tags 中输入一些内容时,它也可以工作,但是当图像发生变化时 - 就像我用其他图像替换它一样 - 在我使用浏览器的刷新按钮(或使用 F5 )。我在 Chrome(某些版本)和 Opera(11)上对其进行了测试。我的视图没有使用任何缓存选项,但我尝试使用 @never_cache 和其他一些标签,但没有任何帮助。
希望你能帮帮我。
最好的问候。
编辑:我真正想做的是缓存图像并根据请求刷新它。也许它需要一些 python 工作来获取图像,缓存响应哈希,然后重新缓存图像(如果它以前的哈希更改,则通过删除它),但我不知道如何通过 python HttpResponse / render_to_response 将图像“发送”到“ html 表单”来显示它。
【问题讨论】:
-
当您说您不知道如何通过 python 发送图像时,您是在尝试发送 URL 还是二进制对象,然后您想在页面上显示它们?使用您现在拥有的内容查看示例代码会更容易为您提供帮助。
标签: django templates caching browser refresh