Computer for Everybody

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>