DAY82 Django框架 十二 分頁器

2022-04-19 01:10:48 字數 2655 閱讀 9095

語法

from django.core.paginator import paginator

#複製**

#paginator物件:

paginator = paginator(user_list, 10)

# per_page: 每頁顯示條目數量

# count: 資料總個數

# num_pages:總頁數

# page_range:總頁數的索引範圍,如: (1,10),(1,200)

# page: page物件

page物件:page=paginator.page(1)

# object_list 分頁之後的資料列表

# number 當前頁

# paginator paginator物件

案例一:基礎分頁器

檢視層

from django.shortcuts import render,httpresponse

from django.core.paginator import paginator,emptypage

# create your views here.

def page(request):

# 批量生成資料,並放入列表

# books=

# for i in range(100):

# 批量匯入資料

# models.book.objects.bulk_create(books)

books = models.book.objects.all()

#paginator:object_list:物件列表, per_page:每頁顯示的條數

#生成乙個paginator物件

paginator = paginator(books,10)

#捕獲異常就從第一頁顯示

try:

#從前端get拿到頁面的p

current_page_num = int(request.get.get('p'))

#current_page:是乙個page物件,可以被迴圈,迴圈出來的是當前頁的內容

current_page=paginator.page(current_page_num)

except exception as e:

current_page_num = 1

current_page = paginator.page(current_page_num)

return render(request,'page.html',locals())

模板層

書名**

}} }}

案例二:加強版的分頁器要求:當頁碼數超過11時;左右顯示各5個。

檢視層

def page2(request):

books = models.book.objects.all()

paginator = paginator(books,3)

try:

current_page_num = int(request.get.get('p'))

current_page=paginator.page(current_page_num)

#判斷總頁數是否超過10

if paginator.num_pages >10:

# 當前頁碼數-5大於1的時候,page_range最小是1,不會再超出

if current_page_num-5<1:

page_range = range(1, 12)

# 當前頁碼數+5大於總頁碼數,page_range最大是paginator.num_pages+1

elif current_page_num+5>paginator.num_pages:

page_range = range(paginator.num_pages - 10, paginator.num_pages+1)

# 當前頁碼數在中間,沒有靠近1或最後,就只顯示左5右5

else:

page_range = range(current_page_num-5,current_page_num+6)

else:

page_range=paginator.page_range

except exception as e:

current_page_num = 1

current_page = paginator.page(current_page_num)

return render(request, 'page2.html', locals())

模板層

書名**

}}

Django 框架 Django介紹

django 使用 python 語言寫的開源 web 開發框架,並遵循 mvc 設計。勞倫斯出版集團為了開發以新聞內容為主的 而開發出來了這個框架。django 今年來應用越來越廣泛。django 的主要目的是簡便 快速的開發資料庫驅動的 它強調 復用,多個元件可以很方便的以 外掛程式 形式服務於...

初試django框架

安裝django 當前安裝的版本是1.10.5 pip install django 新建乙個名為mysite的專案 django admin.py startproject mysite 進入mysite目錄,結構如下 mysite manage.py mysite settings.py url...

django框架基礎

djang 是用python 語言寫的開源 web開發框架,並遵循 mvc設計 並且django 有乙個專有名詞 mvtm 全拼為model 功能是負責資料處理,內嵌了 orm框架 v全拼為 view 功能是接收 業務處理,返回 t全拼為 template 功能是負責封裝構造要返回的 html 內嵌...