list 分頁 Django 實現通用分頁

2021-10-11 14:24:30 字數 1543 閱讀 6745

django 提供了乙個用於分頁的paginator 物件,下面簡單介紹下paginator 物件

paginator 物件的匯入:

from django.core.paginator import paginator

paginator 物件用法:

paginator(object_list, per_page, orphans=0, allow_empty_first_page=true)

object_list:

改引數必須是列表,元祖,queryset 物件 或者物件有count() 或者__len__()的方法:

per_page:

每頁顯示的數量

orphans:

這個引數用於當最後一頁顯示的數量小於或者等於 orphans 的數值時,最後一頁顯示的資料會被放到前一頁顯示.

allow_empty_first_page:

是否允許為object_list 為空

paginator方法:

paginator.get_page(number)

django 2.0 以上的版本,此方法返回乙個page物件,如果number不是乙個數字,返回第一頁,如過number大於總頁數了,返回最後一頁

paginator.page(number)

返回page物件,如果給的numbe引數不存在,將丟擲異常invalidpage

paginator屬性:

paginator.count

資料object_list總條數,

計算時首先會呼叫傳入的object_list 的count方法如果object_list 沒有count() 方法 會呼叫len(object_list) 方法

paginator.num_pages

返回總頁數

paginator.page_range

返回頁數的range物件

page 物件的用法

通常不需要自己建立page 物件,通過paginator.get_page 或者 paginator.page()去建立

方法:

1)page.has_next()

返回true

2)page.has_previous()

3) page.next_page_number()

屬性:

1) page.object_list

返回此頁的物件列表

2) page.number

返回此頁的頁碼,

3) page.paginator

返回關聯的paginatior 物件

下面使用paginator 物件在類檢視中實現乙個通用的分頁方法

# django version 2.0

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分頁

pip install djangorestframework安裝csrf第三方庫之後,我們就可以使用自帶分頁器paginator來進行內容的分頁 如果取不到分頁物件時,設定頁碼為1 page int request.get.get page 1 取分頁物件,orders為需要分頁的物件,一般為mo...

django裡實現分頁

最近忙完手頭的工作,剛好有時間,便嘗試搗鼓c 上面wpf的開發,並用prism來實現mvvm的結構。想想自己已經接近40,卻還在搗鼓 有時候覺得這個似乎不太真實。可是軟體開發一直是自己的業餘愛好,再加上自己的工廠裡一直都要使用,於是還是把業餘時間投入了進去,不管這些時間值得與否,我還是想在csdn上...