2

「半動的」なDjangoのビューがあります。私の場合、初めての訪問者と再訪問者に異なるコンテンツを提供しています。私のビューは応答をレンダリングする前にあらゆる種類のロジックを実行できることを知っていますが、ビュー (およびそれ以上) レベルでのキャッシュが不可能になるでしょう。違う反応。

これを実装するためのいくつかのオプションを考えています:

  • ビューからキャッシュされている別のビューにリダイレクトします。UX に影響を与える (URL を変更する) ため、このアプローチは好きではありません。HTTP サーバー レベルでキャッシュしたい場合は、そのアプローチを選択する必要があることはわかっています。
  • cache タグを使用してテンプレート レベルでキャッシュします (実際にはテンプレート全体を頭からつま先までキャッシュできます)。そうすれば、ケースごとに異なるテンプレートを使用できます。これは問題のないアプローチだと思いますが、テンプレート エンジンを実行する必要はありますが、これは避けたいと思います。
  • キャッシュ フレームワークを直接使用して、準備ができている HttpResponse オブジェクトを自分でビューにキャッシュします。実際には、これは最高のパフォーマンスを提供するように聞こえますが、「車輪の再発明」のように感じます.

他のアイデアはありますか?私が見逃している標準的な方法はありますか?

4

2 に答える 2