我正在尝试弄清楚如何在模板中使用Django分页显示“显示1-10,共52个结果”之类的东西。
我正在为我的应用程序使用CBV。
这就是我所做的
在我的views.py中:
class viewbloglistview(LoginRequiredMixin,ListView):
model = Blog
paginate_by = 6
在我的模板中:
{% if is_paginated %}
<ul class="pagination">
{% if page_obj.has_previous %}
<li><a href="?page={{ page_obj.previous_page_number }}">Previous</a></li>
{% else %}
<li class="disabled"><span>Previous</span></li>
{% endif %}
{% for i in paginator.page_range %}
{% if page_obj.number == i %}
<li class="active"><span>{{ i }} <span class="sr-only">(current)</span></span></li>
{% else %}
<li><a href="?page={{ i }}">{{ i }}</a></li>
{% endif %}
{% endfor %}
{% if page_obj.has_next %}
<li><a href="?page={{ page_obj.next_page_number }}">Next</a></li>
{% else %}
<li class="disabled"><span>Next</span></li>
{% endif %}
</ul>
{% endif %}
有什么想法可以在Django中实现吗?
谢谢
答案 0 :(得分:0)
您可以获取查询集的数量,并在views.py中添加到现有上下文中。
def get_context_data(self, *, object_list=None, **kwargs):
context = super().get_context_data(**kwargs)
context['total'] = self.get_queryset().count
return context