Отображение нескольких записей блога на странице блога (индекс)
Я пытаюсь сделать так, чтобы PostPage и EditorialPage отображались на Blog(IndexPage). Я знаю, что это как-то связано с тем, что он вызывает только EditorialPage из-за:
def get_posts(self):
return EditorialPage.objects.descendant_of(self).live().order_by("-post_date")
Но я не знаю, как реализовать несколько страниц. Мне очень нужна помощь в этом вопросе. Код приведен ниже:
Являются ли PostPage и EditorialPage дочерними элементами BlogPage? Если да, вы можете использовать page.get_children.live.public и упорядочить их по post_date в порядке убывания в шаблоне BlogPage в цикле for, и это даст вам всех детей BlogPage, которые являются live и public.
{% for post in page.get_children.live.public|dictsort:'-post_date' %}
{{ post }}
{% endfor %}
или если вы хотите добавить определение к модели BlogPage:
def get_posts(self):
self.get_children().live().public().order_by("-post_date")