一. paginator類的解釋
class1.根據其定義做出以下解釋,上述**沒有將其類屬性和方法貼出。paginator(object):
def__init__(self, object_list, per_page, orphans=0,
allow_empty_first_page=true):
self.object_list =object_list
self.per_page =int(per_page)
self.orphans =int(orphans)
self.allow_empty_first_page =allow_empty_first_page
self._num_pages = self._count = none
2.類方法:
3.類屬型:
二. page類的解釋
通常不用手動建立page物件,可以從paginator.page()來獲得他們。
class1.類方法page(collections.sequence):
def__init__
(self, object_list, number, paginator):
self.object_list =object_list
self.number =number
self.paginator = paginator
2.類屬型
三.非法頁面處理
這兩個異常都是inalidpage
的子類,所以可以通過簡單的except invalidpage
來處理它們。
四.使用paginator
官方示例:
views.py:
from django.core.paginator importlist.html:paginator, emptypage, pagenotaninteger
from django.shortcuts import
render
deflisting(request):
contact_list = contacts.objects.all() #
獲取所有contacts,假設在models.py中已定義了contacts模型
paginator = paginator(contact_list, 25) #
每頁25條
page = request.get.get('
page')
try:
contacts = paginator.page(page) #
contacts為page物件!
except
pagenotaninteger:
#if page is not an integer, deliver first page.
contacts = paginator.page(1)
except
emptypage:
#if page is out of range (e.g. 9999), deliver last page of results.
contacts =paginator.page(paginator.num_pages)
return render(request, '
list.html
', )
}final: 根據官方示例**結果如下,頁面共有3頁,首頁時只有next選項,中間頁時可選擇previous 或 next,尾頁時只有previous選項。...class="
pagination
">
class="
step-links
">
"?page=}
">previous
class="
current
">page } of }.
"?page=}
">next
另:給出另一種list.html:
"pagination
">
contacts 和 article_list 是同乙個意思,效果如下:
django之分頁演算法實現(Paginator)
匯入模組 from django.core.paginator import paginator 一 paginator的基本用法 from django.core.paginator import paginator objects john paul george ringo lucy meir...
利用pycharm建立django專案
pycharm是個很不錯的python開發工具,大大縮短了python專案的建立時間以及除錯時間 在使用python寫指令碼一段時間後,想嘗試使用django來編寫乙個python專案,現做以下記錄備忘 建立後執行專案,預設頁面為開啟後 出現上面的頁面,則正面專案建立成功 目錄結構 from dja...
利用django建立表結構
在專案資料夾下cmd執行命令 建立system模組 django.contrib.admin django.contrib.auth django.contrib.contenttypes django.contrib.sessions django.contrib.messages django....