Добавлена нумерация страниц в пагинацию
- Вместо текста 'X / Y' теперь кликабельные цифры страниц - Показывается до 10 страниц (±5 от текущей) - Текущая страница выделена (active) - Умная логика: если на странице 15, показывает 10-20 - Все параметры фильтров сохраняются при клике на номер страницы
This commit is contained in:
@@ -153,9 +153,22 @@
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
<li class="page-item active">
|
||||
<span class="page-link">{{ page_obj.number }} / {{ page_obj.paginator.num_pages }}</span>
|
||||
</li>
|
||||
{# Цифры страниц: показываем до 10 страниц #}
|
||||
{% with start_page=page_obj.number|add:"-5" end_page=page_obj.number|add:"5" %}
|
||||
{% for num in page_obj.paginator.page_range %}
|
||||
{% if num >= start_page|default:1 and num <= end_page and num <= page_obj.paginator.num_pages %}
|
||||
{% if num == page_obj.number %}
|
||||
<li class="page-item active">
|
||||
<span class="page-link">{{ num }}</span>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ num }}&{{ params.urlencode }}">{{ num }}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endwith %}
|
||||
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
|
||||
Reference in New Issue
Block a user