我一直在我的 django 应用程序中实现缓存,并通过缓存 API 和模板片段缓存使用每个视图缓存。在我的一些页面上,我使用了一个自定义的 django 模板标签,这个标签是通过第三方开发人员提供的,它在模板标签中接受一些参数,然后向远程服务器发出请求,通过 XML 获取响应,然后然后在我的页面中呈现结果。太好了 - 我认为我可以使用片段缓存轻松缓存它,所以我:
{% load cache %}
{% cache 500 request.user.username %}
{% load third party custom tags %}
{% expensive custom tag set that gets stuff from a third party server via xml %}
{{ some.stuff}}
{% endcache %}
问题是无论我做什么,请求仍然会被发送到远程服务器,似乎 Django 不喜欢缓存这些自定义模板标签。我知道 memcached 运行良好,对于其他视图和模板,一切正常。我在做与片段缓存不兼容的事情吗?有办法绕过吗?