原文:
在檢視中的應用
from django.core.paginator import paginator, emptypage, pagenotaninteger
from django.shortcuts import render
def listing(request):
contact_list = contacts.objects.all()
paginator = paginator(contact_list, 25) # show 25 contacts per page
page = request.get.get('page')
try:
contacts = paginator.page(page)
except pagenotaninteger:
# if page is not an integer, deliver first page.
contacts = paginator.page(1)
except emptypage:
# if page is out of range (e.g. 9999), deliver last page of results.
contacts = paginator.page(paginator.num_pages)
return render(request, 'list.html', )
在template的html模板中的應用
}...
previous
page } of }.
next
基本語法例項
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
import os
from django.core.paginator import paginator
objects = ['john','paul','george','ringo','lucy','meiry','checy','wind','flow','rain']
p = paginator(objects,3) # 3條資料為一頁,例項化分頁物件
print p.count # 10 物件總共10個元素
print p.num_pages # 4 物件可分4頁
print p.page_range # xrange(1, 5) 物件頁的可迭代範圍
page1 = p.page(1) # 取物件的第一分頁物件
print page1.object_list # 第一分頁物件的元素列表['john', 'paul', 'george']
print page1.number # 第一分頁物件的當前頁值 1
page2 = p.page(2) # 取物件的第二分頁物件
print page2.object_list # 第二分頁物件的元素列表 ['ringo', 'lucy', 'meiry']
print page2.number # 第二分頁物件的當前頁碼值 2
print page1.has_previous() # 第一分頁物件是否有前一頁 false
print page1.has_other_pages() # 第一分頁物件是否有其它頁 true
print page2.has_previous() # 第二分頁物件是否有前一頁 true
print page2.start_index() # 第二分頁物件的元素開始索引 4
print page2.end_index() # 第2分頁物件的元素結束索引 6
Django分頁器Paginator資料重複問題
上週新增了乙個新的爬蟲目標,前後端做好list頁,詳情頁,over 沒想到本週管理爬蟲資訊的小哥反映說,每頁都會出現一條重複的資料,這條重複的資料永遠佔據著每頁的最後一條 設想了幾個可能導致該問題的原因 使用html模板時誤加了一行 如posts.last之類 分頁器使用方法錯誤 經排查發現 htm...
Django處理下拉資料
解決辦法,用django的models處理,把資料都寫到資料庫中,後端把資料返回給前端,前端只需要讀取資料,寫到對應的下拉列表中即可 具體操作 後端 1 先建表,想清楚資料結構,再寫介面 2 寫乙個介面,將資料返回給前端 get請求 class searchenvjson apiview defge...
django 分頁功能
django 分頁功能 django自帶了paginator,功能有一定侷限,使用django pure pagination功能更為強大 github傳送門 1 使用pip源安裝 pip install django pure pagination pure pagination 3 在setti...