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

23 января 2016 г. 2: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 оценок)

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

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

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

Автор статьи

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

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

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

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

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

Вы можете оставить комментарий как незарегистрированный пользователь. Но, зарегистрировавшись, вы сможете получать оповещения об ответах, а также иметь доступ к своему личному аккаунту для просмотра своих комментариев.

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

Отправить

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

Попробуйте