django第11天 分頁器

2022-05-05 01:00:06 字數 2571 閱讀 6902

批量插入資料

book_list =

#先生成物件

for i in range(100):

book = book(name = 'book%s'%i,price=10+i)

#操作物件列表,設定一次操作多少條資料

book.objects.bulk_create(book_list,10)

1.匯入分頁器模組

from django.core.paginator import paginator

2.生成分頁器物件

第乙個引數為分頁物件列表,第二個引數為一頁的數量

paginator = paginator(book_list,10)

3.分頁常用方法

#分頁物件的總數

count = paginator.count()

#分成的總頁數

num_pages = paginator.num_pages()

#頁數的範圍

page_range = paginator.page_range

#當前頁面數從前台獲取

try:

current_page_num = int(request.get.get('page',1))

except:

current_page_num = 1

#通過當前頁數,獲得當前頁的物件列表(返回給前台迭代顯示物件)

current_page = paginator.page(current_page_num)

current_page.has_previous()

current_page.previous_page_number()

current_page.has_next()

current_page.next_page_number()

1.後台

from django.core.paginator import paginator

def index(request):

#獲取圖書物件

book_list = book.objects.all()

#生成分頁器物件

paginator = paginator(book_list,10)

#獲取頁碼範圍,以便前台產生分頁個數

page_range = paginator.page_range

#從前台獲取當前頁數,如果是第一次訪問就返回第一頁

try:

current_page_num = int(request.get.get('page',1))

except:

current_page_num =1

#通過當前頁數,獲得current_page,可迭代獲得當前頁所有物件

current_page = paginator.page(current_page_num)

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

前台圖書名稱

圖書**

#僅展示當前頁數的所有物件

}}

#如果不存在不進行操作

#通過頁數生成分頁項

}

當物件個數過多,分的頁數過多時,需要將分頁器優化,不然會顯示一大堆的分頁

設計要求:

除了首末頁,只顯示選中頁數,前5頁和後5頁

前台:

圖書名稱

圖書**

}}

後台:

def index(request):

book_list = book.objects.all()

paginator = paginator(book_list,6)

count = paginator.count

num_pages = paginator.num_pages

page_range = paginator.page_range

try:

current_page_num = int(request.get.get('page',1))

except:

current_page_num =1

current_page = paginator.page(current_page_num)

if num_pages > 13:

if current_page_num <7 :

page_range = range(2,12)

elif current_page_num +6 > num_pages:

page_range = range(num_pages-10,num_pages)

else:

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

else:

page_range = range(2,13)

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

Python學習第163天(分頁初步實現)

先說一下自行實現分頁是如何進行的 然後是關於django自帶的分頁內容,這裡主要集中了兩個類,分別是paginator page paginator可以通過內建的page方法生成page物件,反之page類也可以這樣操作 from django.shortcuts import render fro...

Django第七天(admin,分頁器,)

一 admin後台管理 1.建立超級使用者 python manage.py createsuperuser 3.在應用中編寫模型類,並遷移 同步 至資料庫。4.在該應用admin.py中註冊模型 使admin後台能對該應用的模型進行管理 admin.site.register 模型類,二 分頁器 ...

Django元件 分頁器

批量匯入資料 booklist for i in range 100 book.objects.bulk create booklist 分頁器的使用 book list book.objects.all paginator paginator book list,10 print count pa...