django提供了paginator
類來幫助管理分頁資料,這個類存放在django/core/paginator.py
.它可以接收列表、元組或其它可迭代的物件。
基本語法示例:
1#!/usr/bin/env python2#
_*_ coding:utf-8 _*_34
importos5
6from django.core.paginator import
paginator
7 objects = ['
john
','paul
','george
','ringo
','lucy
','meiry
','checy
','wind
','flow
','rain
'] #演示用分類資料來源
8 p = paginator(objects,3) #
例項化分頁物件,將objects 3條資料分為一頁,
9print p.count #
10 物件總數
10print p.num_pages #
4 物件總頁數
11print p.page_range #
xrange(1, 5) 物件頁的可迭代列表【元組】
1213 page1 = p.page(1) #
取物件的第1分頁物件
14print page1.object_list #
第1分頁物件的元素列表['john', 'paul', 'george']
15print page1.number #
第1分頁物件的當前頁值 1
21print page1.has_previous() #
第1分頁物件是否有前一頁 false
22print page1.has_other_pages() #
第1分頁物件是否有其它頁 true
24print page2.has_previous() #
第1分頁物件是否有前一頁 true
25print page1.has_next() #
26print page1.next_page_number() #
27print page1.previous_page_number() #
28print page1.start_index() #
第1分頁物件的元素開始索引 4
29print page1.end_index() #
第1分頁物件的元素結束索引 6
官方應用示例:
後台views.py**:
1from django.core.paginator import
paginator, emptypage, pagenotaninteger
2from django.shortcuts import
render34
deflisting(request):
5 contact_list =contacts.objects.all()
6 paginator = paginator(contact_list, 25) #
show 25 contacts per page
78 page = request.get.get('
page')
9try
:10 contacts =paginator.page(page)
11except
pagenotaninteger:12#
if page is not an integer, deliver first page.
13 contacts = paginator.page(1)
14except
emptypage:15#
if page is out of range (e.g. 9999), deliver last page of results.
16 contacts =paginator.page(paginator.num_pages)
1718
return render(request, '
list.html
', )
前台模板**
12
3 }
4...5 6
7class="
pagination
">
8class="
step-links
">
9 10"
?page=}
">previous
11
1213
class="
current
">
14page } of }.
1516
17 18"
?page=}
">next
19
2021
django 實現分頁功能
分頁效果 檢視 1 coding utf 8 2 from django.shortcuts import render,get object or 404 3 from django.core.paginator import paginator,pagenotaninteger,emptypag...
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 每頁顯...