2012-04-16 60 views
1

我有一個顯示產品列表的頁面。我在每個請求中都列出了列表中的所有產品,因此我使用的是由django提供的標準緩存中間件。Django緩存同一頁面的不同內容

現在我將限制顯示的產品數量,並希望將每個中間結果都緩存在緩存中,因此我不需要始終生成所有頁面。示例:假設列表中有9種產品,並且一次顯示3種產品。

我將有一頁產品從0到2,從3到5,從6到8.訪問它們的URL都是相同的。例如,是否可以使用標準緩存中間件向「Vary」頭添加內容?我可以在某處添加初始索引(0,3或6),因此我可以使用其中一個標準裝飾器?

+0

存在[django-pagination](http://code.google.com/p/django-pagination/) ) - 在你的情況下它可能很方便。 – styts 2012-04-16 22:46:05

回答

0

我找到了一個解決方案。根據#django irc頻道中的建議緩存render_to_response在視圖中返回的響應

0

您應該爲您的問題添加一些更多描述,例如您正在使用的中間件和/或涉及的視圖裝飾器。

我能說的是,Django會關心自身的GET參數,所以如果你有一個像

一個url

/列表/?頁= 1

該頁面緩存都會有不同的緩存鍵比

/list /?page = 2