django中的Paginator分類

2022-07-22 10:54:14 字數 1566 閱讀 6214

當頁面資料過多時我們需要對資料進行分頁處理,django中提供了paginator類進行分頁處理。很方便。

分頁作用:提高使用者體驗;提高應用的速度

引入:

from django.core.paginator import paginator

建立分頁物件

all_articles = models.article.objects.all().order_by('id') #獲取全部文章資料

page_obj = paginator(all_articles,5) #通過django自帶的分頁器進行分頁 每頁5條資料

paginator物件提供的方法:

print('文章一共有多少資料',page_obj.count) #文章一共有多少資料

print('一共分了多少頁',page_obj.num_pages) #返回總頁數 一共分了多少頁

print('頁碼列表',page_obj.page_range) #頁碼列表 range物件

資料集提供的方法:

page_data = page_obj.get_page(2) #獲取第幾頁的資料集

print('起始',page_data.start_index()) #返回當前頁起始的物件序號

print('結束',page_data.end_index()) #返回當前結束頁的物件序號

print(page_data.number) #當前頁

views.py

def index(request):

page = request.get.get('page')

print('頁面傳來的引數',page)

articles = models.article.objects.all()

# 建立分頁例項, articles是文章所有資料,第二個引數代表每頁展示多少條資料

page_obj = paginator(articles, 5)

# print('文章一共有多少資料',page_obj.count) #文章一共有多少資料

# print('一共分了多少頁',page_obj.num_pages) #返回總頁數 一共分了多少頁

# print('頁碼列表',page_obj.page_range) #頁碼列表 range物件

# 資料集提供的方法:

# page_data是某一頁的資料集合物件

page_data = page_obj.get_page(page) #獲取第幾頁的資料集

# print('起始',page_data.start_index()) #返回當前頁起始的物件序號

# print('結束',page_data.end_index()) #返回當前結束頁的物件序號

# print(page_data.number) #當前頁

return render(request,'index.html',)

index.html

}}

django之分頁演算法實現(Paginator)

匯入模組 from django.core.paginator import paginator 一 paginator的基本用法 from django.core.paginator import paginator objects john paul george ringo lucy meir...

django基礎 django中的app應用

urlpatterns path lw2 views.lw2 先設定子路由和乙個實現登入功能頁面 login.html 使用者名稱 密碼 通過request.post.get 方法可以返回使用者登入時的資訊,根據資訊來判斷和進行下一事件。如果登入資訊與資料庫中資訊不相匹配,則重新返回新的登入頁面。此...

django 重新整理快取 Django 中的快取問題

django 中的快取問題 簡單介紹 在動態 中,使用者所有的請求,伺服器都會去資料庫中進行相應的增,刪,查,改,渲染模板,執行業務邏輯,最後生成使用者看到的頁面.當乙個 的使用者訪問量很大的時候,每一次的的後台操作,都會消耗很多的服務端資源,所以必須使用快取來減輕後端伺服器的壓力.快取是將一些常用...