What is Django Pagination | Django Tutorials
August 5, 2021 2022-12-18 0:09What is Django Pagination | Django Tutorials
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 Facebook, Twitter, Pinterest, Instagram, 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