Django Pagination
Views
from django.core.paginator import Paginator
from .models import Product
def index(req, p):
paginator = Paginator(Product.objects.all(), per_pate = 10)
return render(req, 'product/index.html', {'arr': paginator.get_page(p)})
product/index.html
<ul>
{% if arr.has_previous %}
<li><a href="/product/{{arr.previous_page_number}}">Previous</a></li>
{% endif %}
{% for p in arr.paginator.page_range %}
{%if p == arr.number%}
<li>{{p}}</li>
{% else %}
<li><a href="/product/{{p}}">{{p}}</a></li>
{% endif %}
{%endfor%}
{% if arr.has_next %}
<li><a href="/product/{{arr.next_page_number}}">Next</a></li>
{% endi f%}
</ul>
<ul class="pagination">
{% if arr.has_previous %}
<li><a href="/student/{{ arr.previous_page_number }}">previous</a></li>
{% endif %}
<li class="current">
Page {{ arr.number }} of {{ arr.paginator.num_pages }}.
</li>
{% if arr.has_next %}
<li><a href="/student/{{ arr.next_page_number }}">next</a></li>
{% endif %}
</ul>