/ / частично кеширане на метод на изглед - django, кеширане, memcached

частично кеширане на метод за преглед - django, caching, memcached

Използвам Memcachedпитон-Memcached обвързване) с един от джанговите ми проекти. Сценарият е, че на началната страница имам:

  • Топ бар: (Това съдържа връзките за влизане / Потребителско име с връзка към потребителския профил)
  • Форма за търсене
  • Малко блокове от резултати

В момента използвам cache_page() декоратор, за да кешира цялата страница, както следва:

@cache_page(3600)
def home(request):
# View Code Goes Here

и горното работи както се очаква. Но тъй като началната страница е публично достъпна страница, имам проблем с един сценарий, където:

  1. Анонимен потребител заявява началната страница (страницата се кешира, ако е вече не е).
  2. Сега потребителят влиза в системата и се пренасочва към началната страница.
  3. Кешираната начална страница се зарежда (в горната лента все още се показва връзка за вход, вместо влезлият потребител и име на профил, тъй като страницата е кеширана преди потребителят да влезе.)

Въпрос:

Има ли начин или на ниво шаблон, или на ниво изглед, който ни позволява да определим блок ние НЕДЕЙ искате да кеширате, докато използвате cache_page() декоратор?

Моля, обърнете внимание: знам, че можем да използваме {% cache %} шаблон маркер или cache.set за всеки блок в горния сценарий. Но аз специално търся решение, където можем да използваме cache_page() декоратор и все още ще можете да посочите a block че не искам кеширана в определен изглед или шаблон

Отговори:

0 за отговор № 1

употреба CACHE_MIDDLEWARE_ANONYMOUS_ONLY

все пак звучи като опция за междинен софтуер, влияе и на @cache_page