У меня есть TemplateView для дома и о страницах веб-сайта для организатора мероприятий. Теперь я хочу включить шаблон со списком следующих трех событий в оба шаблона, например:
{% include "next-events.html"%}
Так как этот шаблон должен быть включен в обе страницы, я подумал написать ListView только для следующих событий и включить его в свой дом и о представлениях.
class NextEventsView(ListView):
""" a preview of the next events """
queryset = Event.objects.filter(date__gte=datetime.date.today()).order_by('date')[:3]
context_object_name = 'next_events'
class HomePageView(TemplateView, NextEventsView):
template_name = "home/home.html"
class AboutPageView(TemplateView, NextEventsView):
template_name = "home/about.html"
Но я не совсем понял, как общий вид ListView получает свой object_list. Если я включу это, я получаю следующую ошибку:
AttributeError: 'HomePageView' object has no attribute 'object_list'
Это можно решить, добавив object_list в HomePageView, но это не может быть правильным решением.
Кто-нибудь может объяснить, как правильно сделать такое включение?
Заранее спасибо!