私のウェブサイトでは、最も多く見た商品カテゴリをサイドバーに複数のページで表示したいと考えています。Djangoのグローバル変数/変数キャッシング
ので、私が持っているそれぞれ異なるビューで:
variables = RequestContext(request, {
(...)
'most_viewed_cats': calculate_most_viewed_categories()
}
と、様々なテンプレート
{% include "list_most_viewed_categories" %}
とその1つの中で:
<ul>
{% for cat in most_viewed_cats %}
{{ cat.name }}
{% empty %}
</ul>No categories to show.<ul>
{% endfor %}
</ul>
しかし、私は計算したいと思いますmost_viewed_categoriesの値は、すべてのビューでそれを計算するのではなく、2日ごとに1回だけです。
私はビューをキャッシュすることができると知っていますが、これは可変キャッシングの多くです。この変数をDjangoサーバのどこかにキャッシュし、その期間の後に更新することは可能ですか?どのようにこれを行うに行くだろうか?
は、それはあなたがサイト全体で再利用したい何かした場合、あなたはおそらく、常に最も閲覧カテゴリを含む変数をテンプレートコンテキストを移入するために起こっているのコンテキストプロセッサを作成するために最善を尽くしますあなた
https://docs.djangoproject.com/en/dev/topics/cache/#the-low-level-cache-api – DrTyrsa
ありがとうございます。見逃した。 –
この情報をテーブルに格納してセッション変数を格納することを検討してください。 – danihp