Pagination

Pagination





views.py

from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger



def allblog(request):
    post_list = Post.objects.all()
    most_recent = Post.objects.order_by('-timestamp')[:5]
    paginator = Paginator(post_list, 6)
    #page = request.GET.get('page')
    page_request_var = 'page'
    page = request.GET.get(page_request_var)

    try:
        allPosts = paginator.page(page)
    except PageNotAnInteger:
        allPosts = paginator.page(1)
    except EmptyPage:
        allPosts = paginator.page(paginator.num_pages)

    context={
        'allPosts': allPosts,
        'most_recent': most_recent,
        'page_request_var': page_request_var,

    }
    return render(request, "website/allblog.html", context)

html


<!-- Pagination -->
           
           
            <nav aria-label="Page navigation example">
              <ul class="pagination pagination-template d-flex justify-content-center">
                {% if allPosts.has_previous %}                
                <li class="page-item"><a href="?{{ page_request_var }}={{ allPosts.previous_page_number }}" class="page-link"> <i class="fa fa-angle-left"></i></a></li>
                {% endif %}
                <li class="page-item"><a href="?{{ page_request_var }}={{ allPosts.number }}" class="page-link active">{{ allPosts.number }}</a></li>
                {% if allPosts.has_next %}
                <li class="page-item"><a href="?{{ page_request_var }}={{ allPosts.next_page_number }}" class="page-link"> <i class="fa fa-angle-right"></i></a></li>
                {% endif %}
              </ul>
            </nav>

Share your thoughts

Previous Post Next Post

نموذج الاتصال