django分頁功能的具體實現

2022-08-30 17:24:09 字數 2611 閱讀 5455

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**:

1

from 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

', )

前台模板**

1 

2

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 每頁顯...