Django get previous and next page
新闻页面的页脚需要添加上一篇
和下一篇
导航,queryset 提供了 get_next_sibling()
和 get_prev_sibling()
方法,直接链到模型查询后面即可。
# 上一篇和下一篇
def get_context(self, request):
context = super().get_context(request)
if NewsPage.objects.live().get(pk=self.id).get_next_sibling():
context['next'] = NewsPage.objects.live().get(pk=self.id).get_next_sibling()
else:
context['next'] = False
if NewsPage.objects.live().get(pk=self.id).get_prev_sibling():
context['prev'] = NewsPage.objects.live().get(pk=self.id).get_prev_sibling()
else:
context['prev'] = False
return context