日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

django基础知识之分页:

發(fā)布時間:2024/6/21 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 django基础知识之分页: 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

分頁

  • Django提供了一些類實現(xiàn)管理數(shù)據(jù)分頁,這些類位于django/core/paginator.py中

Paginator對象

  • Paginator(列表,int):返回分頁對象,參數(shù)為列表數(shù)據(jù),每面數(shù)據(jù)的條數(shù)

屬性

  • count:對象總數(shù)
  • num_pages:頁面總數(shù)
  • page_range:頁碼列表,從1開始,例如[1, 2, 3, 4]

方法

  • page(num):下標以1開始,如果提供的頁碼不存在,拋出InvalidPage異常

異常exception

  • InvalidPage:當向page()傳入一個無效的頁碼時拋出
  • PageNotAnInteger:當向page()傳入一個不是整數(shù)的值時拋出
  • EmptyPage:當向page()提供一個有效值,但是那個頁面上沒有任何對象時拋出

Page對象

創(chuàng)建對象

  • Paginator對象的page()方法返回Page對象,不需要手動構造

屬性

  • object_list:當前頁上所有對象的列表
  • number:當前頁的序號,從1開始
  • paginator:當前page對象相關的Paginator對象

方法

  • has_next():如果有下一頁返回True
  • has_previous():如果有上一頁返回True
  • has_other_pages():如果有上一頁或下一頁返回True
  • next_page_number():返回下一頁的頁碼,如果下一頁不存在,拋出InvalidPage異常
  • previous_page_number():返回上一頁的頁碼,如果上一頁不存在,拋出InvalidPage異常
  • len():返回當前頁面對象的個數(shù)
  • 迭代頁面對象:訪問當前頁面中的每個對象

示例

創(chuàng)建視圖pagTest

from django.core.paginator import Paginatordef pagTest(request, pIndex):list1 = AreaInfo.objects.filter(aParent__isnull=True)p = Paginator(list1, 10)if pIndex == '':pIndex = '1'pIndex = int(pIndex)list2 = p.page(pIndex)plist = p.page_rangereturn render(request, 'booktest/pagTest.html', {'list': list2, 'plist': plist, 'pIndex': pIndex})

配置url

url(r'^pag(?P<pIndex>[0-9]*)/$', views.pagTest, name='pagTest'),

定義模板pagTest.html

<!DOCTYPE html> <html> <head><title></title> </head> <body> <ul> {%for area in list%} <li>{{area.id}}--{{area.atitle}}</li> {%endfor%} </ul>{%for pindex in plist%} {%if pIndex == pindex%} {{pindex}}&nbsp;&nbsp; {%else%} <a href="/pag{{pindex}}/">{{pindex}}</a>&nbsp;&nbsp; {%endif%} {%endfor%} </body> </html>

轉載于:https://www.cnblogs.com/huwei934/p/6978727.html

總結

以上是生活随笔為你收集整理的django基础知识之分页:的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。