Blog

What is Django Pagination | Django Tutorials

Djagno Pagination copy
Django

What is Django Pagination | Django Tutorials

What is Django Pagination

In this article, we will discuss Django Pagination that is used to break down a large page into distinct small pages. You are learning Django here, there are different topics we have cleared like Django Form, Models, ORM, URL tag, Templates, Views, etc. But you know, today we have to discuss a topic which is very important because, we want to get a good performance website, So, it is the one factor to optimize website performance.

You have noticed that blog websites have 5 to 10 blog posts and at the end, you see a next or previous button to view other posts. All the web frameworks, CMS systems provide methods to paginate a page, like a Django that provides classes that work for us.  If you are using WordPress, then when you install any wp theme you will get pagination functionality by default in the theme.

Why need of Pagination

  • It helps to reduce the load time, for example, if a website contains 100+ plus posts it will take more time to load, so if a website has 5 or 10 posts then it will reduce its load time
  • To make a website Good Performance, then paginate the page.
  • It makes it easy to navigate a website
  • It seems to be a Beautiful Look because all the posts are managed into different pages

How to work with Django Pagination

In this section, you will learn to paginate your Django web page using a predefined class. We will give a suitable example which will help you to understand better. So let’s start, how you can work with Django Pagination.

As we have discussed we can paginate a Django web page using the Paginator class. Because all the methods, to getting objects, next, previous, number of items per page, etc are existing in this class. We can paginate a page in two ways, high level, and low level.

from django.core.paginator import Paginator 
persons= [‘faisal’, ‘zamir’, ‘khalid’, ‘amir’,’asif’,’ yasir’] 
page = Paginator(persons, 3)

page .count 
6

page .num_pages 

2

The explanation of each line of code for you:

At the first line of code, you have to import this class to work with pagination, without importing you can get all these methods, functions, etc.

In the 2nd line of code we have created a list, included some person’s name. In that list, we will apply different methods of paginator class.

We used the paginator function which taking 2 arguments. one is showing a list of objects, 2nd argument showing that how many objects you want to display per page.

The count method will return the total number of objects in the list

The num_pages means it will return how many pages will be made, after dividing all the objects.

type(person.page_range)
<class ‘range_iterator’>
person.page_range
range(1, 3)

In the above lines of code, we are finding the type of page range which means what is the range of page. the range is the function in core python which give a range of number from start to end with a defined step. So, we can find a range of pages that were created using pagination.

So in the end, we got range(1,3) it means that there are two pages 1 and 2. Last argument 3, always minus 1 which gives 2.

Now! what you have to do?

As you have understood this article about “Django Pagination”, now you must follow instructions as discussed in this article. In case of any issues or problems, don’t worry, you can discuss them with us.

On other hand, If you have any suggestions or knowledge about this article, you can share it with us, we will appreciate you!

If this article is good then share it on FacebookTwitterPinterestInstagram, etc.

Advanced Tutorials for Beginners

Build a Django CRUD Application | Django Tutorials

Why Django Framework is liked by Beginners?

How to use Django Crispy Forms Properly

100% Flask vs Django | Difference Between Flask And Django

Complete Django Rest Framework Course (DRF)

Leave your thought here

Your email address will not be published.

Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
  • Attributes
  • Custom attributes
  • Custom fields
Click outside to hide the compare bar
Compare
Wishlist 0
Open wishlist page Continue shopping