Django Paginator Page Range For Not Displaying All Numbers
I have a pagination in my site but it shows me every page like 1-19, i only want to display only 5 pages. How can i do this? views.py paginator = Paginator(object_list, new_nu
Solution 1:
Another quick solution that can be used(+ and - 5 limit for example):
{% for l in Items.paginator.page_range %}
{% if l <= Items.number|add:5 and l >= Items.number|add:-5 %}
<li><ahref="?page={{forloop.counter}}">{{forloop.counter}}</a></li>
{% endif %}
{% endfor %}
Solution 2:
You already have the {{ forloop.counter }}
in there, you can use that to limit it to five.
{% for l in Items.paginator.page_range %}
{% if forloop.counter < 5 %}
<li><ahref="?page={{forloop.counter}}">{{forloop.counter}}</a></li>
{% endif %}
{% endfor %}
Here is another solution, which might give you some more options if you're interested: Django Pagination Display Issue: all the page numbers show up.
And finally, here is a very nice tutorial on getting up to speed with the pagination that django offers out of the box: https://simpleisbetterthancomplex.com/tutorial/2016/08/03/how-to-paginate-with-django.html.
Solution 3:
See if https://medium.com/@sumitlni/paginate-properly-please-93e7ca776432 helps. The code uses 10 for "neighbors" but you could change it to 5 when using the tag.
Post a Comment for "Django Paginator Page Range For Not Displaying All Numbers"