36 lines
2.1 KiB
HTML
36 lines
2.1 KiB
HTML
<!-- https://gist.github.com/rg3915/01ca76f099f431c24bc0536bef83076b -->
|
|
<!-- Use https://gist.github.com/rg3915/01ca76f099f431c24bc0536bef83076b#file-pagination02-html -->
|
|
<div class="row text-center">
|
|
<div class="col-lg-12">
|
|
<ul class="pagination">
|
|
{% if page_obj.has_previous %}
|
|
<li class="page-item"><a class="page-link" href="?page={{ page_obj.previous_page_number }}{% if request.GET.q %}&q={{ request.GET.q }}{% endif %}">«</a></li>
|
|
{% endif %}
|
|
|
|
{% for pg in page_obj.paginator.page_range %}
|
|
<!-- Sempre mostra as 3 primeiras e 3 últimas páginas -->
|
|
{% if pg == 1 or pg == 2 or pg == 3 or pg == page_obj.paginator.num_pages or pg == page_obj.paginator.num_pages|add:'-1' or pg == page_obj.paginator.num_pages|add:'-2' %}
|
|
{% if page_obj.number == pg %}
|
|
<li class="page-item active"><a class="page-link" href="?page={{ pg }}{% if request.GET.q %}&q={{ request.GET.q }}{% endif %}">{{ pg }}</a></li>
|
|
{% else %}
|
|
<li class="page-item"><a class="page-link" href="?page={{ pg }}{% if request.GET.q %}&q={{ request.GET.q }}{% endif %}">{{ pg }}</a></li>
|
|
{% endif %}
|
|
|
|
{% else %}
|
|
|
|
{% if page_obj.number == pg %}
|
|
<li class="page-item active"><a class="page-link" href="?page={{ pg }}">{{ pg }}</a></li>
|
|
{% elif pg > page_obj.number|add:'-4' and pg < page_obj.number|add:'4' %} <!-- Mostra 3 páginas antes e 3 páginas depois da atual -->
|
|
<li class="page-item"><a class="page-link" href="?page={{ pg }}{% if request.GET.q %}&q={{ request.GET.q }}{% endif %}">{{ pg }}</a></li>
|
|
{% elif pg == page_obj.number|add:'-4' or pg == page_obj.number|add:'4' %}
|
|
<li class="page-item"><a class="page-link" href="">...</a></li>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
{% if page_obj.has_next %}
|
|
<li class="page-item"><a class="page-link" href="?page={{ page_obj.next_page_number }}&q={{ request.GET.q }}">»</a></li>
|
|
{% endif %}
|
|
</ul>
|
|
</div>
|
|
</div> |