Django分頁功能 Paginator類

2021-09-24 04:10:18 字數 1291 閱讀 1148

today,我們實現分頁的功能

分頁的實現不僅提高了使用者體驗,還是減輕資料庫讀取資料的壓力

django提供了一些類來幫助您管理分頁資料

from django.core.paginator import  paginator

#獲取要分頁的查詢集 blog是乙個model物件

blogs_all_list=blog.objects.all()

#例項化乙個物件每10頁進行分頁

paginator=paginator(blogs_all_list,10)

#獲取get請求page的值,後面的1是預設代表預設get請求到的page值是1

page_num = request.get.get('page', 1)

#根據分頁顯示對應頁碼 獲取查詢集對應的範圍

page_of_blogs=paginator.get_page(page_num)

傳給模板檔案是page_of_blogs 是乙個page物件,可以理解成只含有10個查詢集中的物件的集合

**以下 page_of_blogs縮寫成page**

paginator 類中常用的屬性 即page.paginator

page.paginator.count

返回當前要分頁物件的具體個數

page.paginator.num_pages

返回分頁的2總頁數。

page物件常用的方法即page_of_blogs 我們可以在檢視中獲取

page.has_next()

page.has_previous()

page.has_other_pages()

page.next_page_number()

page.previous_page_number()

page.start_index()

返回頁面上第乙個物件的從1開始的索引,相對於分頁器列表中的所有物件。例如,當為每頁包含2個物件的5個物件的列表進行分頁時,start_index()將返回第二個頁面 3。

page.end_index()

返回頁面上最後乙個物件的從1開始的索引,相對於分頁器列表中的所有物件。例如,當為每頁包含2個物件的5個物件的列表進行分頁時,end_index()將返回第二個頁面 4。

當前頁高亮

不要過多頁碼選擇,影響頁面布局,只顯示當前頁周圍兩個並可以直接跳轉第一頁和最後一頁

具體**不展示

django 分頁功能

django 分頁功能 django自帶了paginator,功能有一定侷限,使用django pure pagination功能更為強大 github傳送門 1 使用pip源安裝 pip install django pure pagination pure pagination 3 在setti...

django分頁功能

採用django自帶的paginator功能 from django.core.paginator import paginator food foodinfo.objects.filter food name contains searchstr pag paginator food,25 每頁顯...

django 實現分頁功能

分頁效果 檢視 1 coding utf 8 2 from django.shortcuts import render,get object or 404 3 from django.core.paginator import paginator,pagenotaninteger,emptypag...