2012-04-16 13 views
1

私は製品のリストを示すページを持っています。私は毎回のリストですべての製品を表示していたので、私はdjangoが提供する標準のキャッシュミドルウェアを使用していました。同じページの異なるコンテンツをDjangoキャッシュ

ここでは、表示される製品の数を制限し、すべての中間結果をキャッシュにもキャッシュしたいので、すべてのページを常に生成する必要はありません。例:リストに9つの製品があり、一度に3つの製品を表示するとします。

私は0から2まで、3から5まで、6から8までの商品を1ページ持っています。すべてのページにアクセスするURLは同じになります。たとえば、 "Vary"ヘッダに何かを追加する標準キャッシュミドルウェアを使用することは可能ですか?初期インデックス(0、3、または6)をどこかに追加することができます。標準デコレータの1つを使用できますか?

+0

[django-pageing](http://code.google.com/p/django-pagination/)が存在します。 ) - それはあなたの場合に便利かもしれません。 – styts

答えて

0

解決策が見つかりました。 #django ircチャンネルの提案に基づいて、ビュー内でrender_to_responseによって返された応答をキャッシュしています

0

質問には、使用しているミドルウェアや関連するビューデコレータなどの説明を追加する必要があります。

私が言うことができることは、あなたがURLを持っているので、もしそのため

/リスト/?ページ= 1つの

ページキャッシュが異なっていますようにDjangoは、それ自体でGETパラメータを気にするということですキャッシュキーより

/list /?page = 2

関連する問題