1

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

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

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

4

2 回答 2

0

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

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

/list/?page=1

它的页面缓存将具有不同的缓存键

/list/?page=2

于 2012-04-16T22:39:04.740 回答
0

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

于 2012-04-17T14:07:16.740 回答