有没有一种方法可以确保页面来自生产服务器和开发服务器上的缓存?
解决方案不应该涉及缓存中间件,因为并不是每个项目都使用它们。尽管解决方案本身可能是中间件。
仅仅检查数据是否陈旧并不是一种非常安全的测试方法。
发布于 2008-12-08 02:33:17
我们做了大量的组件缓存,但并不是所有的组件都会同时更新。因此,我们在一个通用的上下文处理器中设置主机和时间戳值。在我们插入的每个模板片段的顶部:
<!-- component_name {{host}} {{timestamp}} -->
component_name使得查看源代码和搜索该字符串变得很容易。
我们所有作为对象详细页的视图都定义了一个上下文变量"page_object“,并且我们在base.html模板主页的顶部有以下内容:
<!-- {{page_object.class_id}} @ {{timestamp}} -->
class_id()是所有主要内容类使用的超类中的方法。它只是:
def class_id(self):
"%s.%s.%s" % (self.__class__._meta.app_label,
self.__class__.__name__, self.id)
如果您加载了一个页面,并且任何时间戳都超过了几秒钟,那么很可能该组件被缓存了。
发布于 2011-04-06 16:32:15
Peter Rowells的建议效果很好,但是你不需要一个自定义的模板上下文处理器来处理时间戳。您可以简单地使用模板标记:
<!-- {% now "jS F Y H:i" %} -->
发布于 2008-12-07 21:06:49
模拟视图,点击页面,查看是否调用了模拟。如果不是,则使用缓存。
https://stackoverflow.com/questions/347812
复制相似问题