Как показать количество элементов страницы в django pagination для CBV?
Я пытаюсь понять, как показать что-то вроде "Показ 1-10 из 52" с использованием нумерации django в моих шаблонах.
Я использую 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?
Спасибо
1 ответ
Вы можете получить счетчик вашего набора запросов и добавить его в свой существующий контекст, как это в вашем 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