django利用分頁器元件進行分頁

2021-09-25 10:00:21 字數 1898 閱讀 5915

django的分頁元件

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物件

批量資料入庫

booklist = 

for i in range(100):

book.objects.bulk_create(booklist)#按照booklist中的物件進行批量資料入庫

for book in booklist:

print(book.title)

分頁器前端**(注意超連結中的/book/要和你的url一致)

分頁器後端**

def book(request):

book_list = book.objects.all()#需要分頁的資料,從資料庫裡取得的物件queryset列表

# 生成paginator物件,傳入書籍列表,每頁10條資料

paginator = paginator(book_list, 10)#建立分頁器物件

current_page = int(request.get.get('page', 1)) # 獲取url引數中傳來的當前頁碼

page_range =

# 左5 右5

# 獲取頁面傳來的頁碼的page物件

try:

page = paginator.page(current_page)

except exception as e:

current_page = 1

page = paginator.page(1)

if paginator.num_pages > 11:

if current_page + 5 > paginator.num_pages:

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

elif current_page - 5 < 1:

page_range = range(1, 12)

else:

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

else:

page_range = paginator.page_range

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

分頁後端需要向前端傳遞分頁範圍page_range,分頁物件,和當前頁,後端主要做的事情就是確定分頁範圍page_range,前端就是拿到前面說的資料,並生成分頁布局,當前**執行結果如圖

想要在哪個頁碼後面加上'...'只需在前端**的對應位置中填上這麼一句

...

根據需求可以新增首頁和尾頁按鈕等,只需對前端**的相應部分刪除就可以造成有無該功能

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...

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...

Django元件之 分頁器

django自帶分頁器 paginator 用起來非常方便。怕自己寫的出bug,可以使用現成的 批量匯入資料 booklist for i in range 100 book.objects.bulk create booklist 分頁器的使用 book list book.objects.all...