Cache для классов, основанных на представлении

23 января 2016 г. 7:48

Django < 1.9

Отключить кэширование класса, основанного на представлении, можно следующим образом:

class MyListView(ListView):

    @never_cache
    def dispatch(self, *args, **kwargs):
        return super(MyListView, self).dispatch(*args, **kwargs)

Django 1.9

Начиная с версии django 1.9 можно декорировать сам класс (подробнее на оф. сайте: decorating-the-class)

@method_decorator(never_cache, name='dispatch')
class MyListView(ListView):
    ...

Если нужно обернуть представление несколькими декораторами:

decorators = [never_cache, login_required]

@method_decorator(decorators, name='dispatch')
class MyListView(ListView):
    ...

Оцените статью

0 из 5 (всего 0 оценок)

Поля, отмеченные звёздочкой ( * ) , являются обязательными.

Спасибо за ваш отзыв!

После нажатия кнопки "Отправить" ваше сообщение будет доставлено мне на почту.

Автор статьи

Права на использование материала, расположенного на этой странице https://vivazzi.pro/it/cache-for-class-based-view/:

Разрешается копировать материал с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="https://vivazzi.pro/it/cache-for-class-based-view/">https://vivazzi.pro/it/cache-for-class-based-view/</a>

Подробнее: Правила использования сайта

Комментариев: 0

Вы можете оставить комментарий как незарегистрированный пользователь.

Но зарегистрировавшись, вы сможете:

  • получать оповещения об ответах
  • просматривать свои комментарии
  • иметь возможность использовать все функции разработанных сервисов

Для комментрирования от своего имени, войдите или зарегистрируйтесь обычным способом или через социальные сети:

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте