Django缓存同一页面的不同内容

时间:2012-04-16 21:34:42

标签: django caching

我有一个显示产品列表的页面。每次请求时我都会在列表中显示所有产品,因此我使用的是django提供的标准缓存中间件。

现在,我将限制显示的产品数量,并希望将每个中间结果缓存到缓存中,因此我不需要一直生成所有页面。示例:假设列表中有9个产品,一次显示3个产品。

我将有一个页面包含从0到2,从3到5,从6到8的产品。访问所有这些产品的URL将是相同的。例如,是否可以使用标准缓存中间件向“Vary”标头添加内容?我可以在某处添加初始索引(0,3或6),所以我可以使用其中一个标准装饰器吗?

2 个答案:

答案 0 :(得分:0)

您应该在问题中添加更多描述,例如您正在使用的中间件和/或所涉及的视图装饰器。

我能说的是Django会自己关心GET参数,所以如果你有一个像

这样的网址

/ list /?page = 1

它的页面缓存将具有与

不同的缓存键

/列表/?页= 2

答案 1 :(得分:0)

我找到了解决方案。我根据#django irc频道中的建议缓存了视图中render_to_response返回的响应