特定のコントローラーのアクションについて、まず HTML が memcached にあることを確認し、はい、キャッシュからレンダリングする方法を教えてください。
見つからない場合は、ビュー ページの html をレンダリングし、その html を取得して、将来のリクエストのために memcached に保存します。
ユーザーがどのロールに属しているか、ログインしているかどうか、およびその他のロジックを確認したいので、実際にはコントローラーのアクションで実行したいと思います
特定のコントローラーのアクションについて、まず HTML が memcached にあることを確認し、はい、キャッシュからレンダリングする方法を教えてください。
見つからない場合は、ビュー ページの html をレンダリングし、その html を取得して、将来のリクエストのために memcached に保存します。
ユーザーがどのロールに属しているか、ログインしているかどうか、およびその他のロジックを確認したいので、実際にはコントローラーのアクションで実行したいと思います
最も簡単な方法は、cache_page
からのデコレータを使用することdjango.views.decorators.cache
です。
from django.views.decorators.cache import cache_page
@cache_page(3600) #1 hour cache time in seconds
def a_view_to_cache(request):
...
レンダリングされたHTMLの一部のみをキャッシュする場合は、テンプレートで明示的に行うことができます
{% load cache %}
{% cache 3600 cache_block_name %}
.. my block ..
{% endcache %}