Возьмите html из memcached, если он найден, если нет, и сохраните в memcached. - PullRequest
0 голосов
/ 16 марта 2011

Для действия определенного контроллера, как я должен сначала проверить, что HTML находится в memcached, и затем выполнить рендеринг из кэша.

Если не найден, отрендерить html страницы просмотра, затем взять этот html и сохранитьэто в memcached для будущих запросов.

Я действительно хочу сделать это в действии контроллера, потому что я хочу видеть, какой роли принадлежит пользователь, если они вошли в систему, и другой логике

Ответы [ 2 ]

1 голос
/ 16 марта 2011

Самый простой способ - использовать декоратор 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 %}
1 голос
/ 16 марта 2011
...