Je travaille sur une page où j'ai un event-list page (événements futurs) et un event-review page (événements passés, archives).Comment désactiver le cache pour AppHooks django-cms?
Sur les deux pages, je travaille avec un AppHook django-cms parce que j'ai aussi des vues détaillées.
Le jour suivant l'événement, l'événement doit être caché dans la liste des événements et visible sur la page de révision de l'événement. Mais le problème est que l'événement est toujours dans la page de liste d'événements.
models.py
# Managers
class EventsManager(models.Manager):
"""EventsManager."""
def get_all(self):
return super(EventsManager, self) \
.filter(is_visible=True) \
.order_by('-date')
def get_all_future(self):
return super(EventsManager, self) \
.filter(is_visible=True) \
.filter(date__gte=datetime.datetime.now()) \
.order_by('date')
def get_all_past(self):
return super(EventsManager, self) \
.filter(is_visible=True) \
.filter(date__lt=datetime.datetime.now()) \
.order_by('-date')
views.py
class EventListView(ListView):
template_name = 'event_list.html'
queryset = Events.objects.get_all_future()
paginate_by = 10
@never_cache
def dispatch(self, *args, **kwargs):
return super(EventListView, self).dispatch(*args, **kwargs)
class EventArchiveView(ListView):
template_name = 'event_archive.html'
queryset = Events.objects.get_all_past()
paginate_by = 20
@never_cache
def dispatch(self, *args, **kwargs):
return super(EventArchiveView, self).dispatch(*args, **kwargs)
def get_context_data(self, **kwargs):
context = super(EventArchiveView, self).get_context_data(**kwargs)
context['is_arcive'] = True
return context
J'ai essayé d'utiliser @never_cache mais l'événement est toujours sur la page de liste d'événements. Je pense que c'est un problème de mise en cache, mais je ne sais pas vraiment par où commencer la recherche. Aucune suggestion?