小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

django 分頁(yè)

 rongq2007 2021-07-17


官方文檔連接地址為:https://docs./en/2.1/topics/pagination/

在創(chuàng)建分頁(yè)前先導(dǎo)入模塊;

from django.core.paginator import Paginator

paginator對(duì)象:

創(chuàng)建格式為:

blogs = Blog.objects.all()

paginator = Paginator(blogs,10)#實(shí)例化一個(gè)分頁(yè)對(duì)象,設(shè)置每一頁(yè)顯示10條 

這里創(chuàng)建分頁(yè)的同時(shí)時(shí)一般需要注意下我們?cè)趍odels.py是否這是默認(rèn)排序,否則會(huì)彈出提示信息。

paginator屬性:

Paginator.count----所有頁(yè)面中對(duì)象的總數(shù)

Paginator.num_pages----總頁(yè)數(shù)

Paginator.page_range----頁(yè)碼迭代器

paginator方法:

Paginator.get_page(number)此方法為2.0新方法。

返回Page具有給定的從1開(kāi)始的索引對(duì)象,同時(shí)還處理超出范圍和無(wú)效頁(yè)碼,如果頁(yè)碼不是數(shù)字,則返回第一頁(yè)。如果頁(yè)碼為負(fù)數(shù)或大于頁(yè)數(shù),則返回最后一頁(yè)。

Page對(duì)象:

paginator對(duì)象的get_page(num)方法返回得到Page對(duì)象

page1 = paginator.get_page(1)

Page屬性:

Page.object_list----此頁(yè)面上的對(duì)象列表。

Page.number----此頁(yè)面上從1開(kāi)始頁(yè)碼。

Page.paginator----關(guān)聯(lián)paginator對(duì)象。

Page方法:

Page.has_next()

True如果有下一頁(yè)則返回。

Page.has_previous()

True如果有上一頁(yè),則返回

Page.has_other_pages()

True如果有下一頁(yè)或上一頁(yè),則返回。

Page.next_page_number()

返回下一頁(yè)編號(hào)。InvalidPage如果下一頁(yè)不存在則引發(fā)。

Page.previous_page_number()

返回上一頁(yè)編號(hào)。InvalidPage如果前一頁(yè)不存在則引發(fā)。

Page.start_index()

返回頁(yè)面上第一個(gè)對(duì)象的從1開(kāi)始的索引,相對(duì)于分頁(yè)器列表中的所有對(duì)象。例如,當(dāng)為每頁(yè)包含2個(gè)對(duì)象的5個(gè)對(duì)象的列             表進(jìn)行分頁(yè)時(shí),start_index()將返回第二個(gè)頁(yè)面 3。

Page.end_index()

返回頁(yè)面上最后一個(gè)對(duì)象的從1開(kāi)始的索引,相對(duì)于分頁(yè)器列表中的所有對(duì)象。例如,當(dāng)為每頁(yè)包含2個(gè)對(duì)象的5個(gè)對(duì)象的             列表進(jìn)行分頁(yè)時(shí),end_index()將返回第二個(gè)頁(yè)面 4。

Page.previous_page_number()

               返回上一頁(yè)

Page.next_page_number()

              返回下一頁(yè)

paginator在views.py中使用:

def blog_list(request):

   blogs_all_list = Blog.objects.all()

   paginator = Paginator(blogs_all_list,10)

   page_num = request.GET.get('page', 1)

   page_of_blogs = paginator.get_page(page_num)

   blog_types = BlogType.objects.all()

   #blogs_counts = Blog.objects.all().count()

   return render(request,'myseit/blog_list.html',{'blog_types':blog_types,'page_of_blogs':page_of_blogs,'paginator':paginator})

在html文件中使用:

 <div class="panel-heading">{% block list_with_type %}博客列表(一共有{{ page_of_blogs.paginator.count }}博客){% endblock %}</div>

yawns_

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多