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