真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Django中怎么實(shí)現(xiàn)一個(gè)分頁(yè)功能-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)Django中怎么實(shí)現(xiàn)一個(gè)分頁(yè)功能,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

創(chuàng)新互聯(lián)建站是一家以網(wǎng)絡(luò)技術(shù)公司,為中小企業(yè)提供網(wǎng)站維護(hù)、成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站備案、服務(wù)器租用、域名申請(qǐng)、軟件開(kāi)發(fā)、小程序開(kāi)發(fā)等企業(yè)互聯(lián)網(wǎng)相關(guān)業(yè)務(wù),是一家有著豐富的互聯(lián)網(wǎng)運(yùn)營(yíng)推廣經(jīng)驗(yàn)的科技公司,有著多年的網(wǎng)站建站經(jīng)驗(yàn),致力于幫助中小企業(yè)在互聯(lián)網(wǎng)讓打出自已的品牌和口碑,讓企業(yè)在互聯(lián)網(wǎng)上打開(kāi)一個(gè)面向全國(guó)乃至全球的業(yè)務(wù)窗口:建站歡迎來(lái)電:18982081108

HTML代碼




    
    Title
    
    
    
    


圖書(shū)列表

                  ID         名字         出版社         價(jià)格                    {% for book in book_list %}                      {{ book.id }}             {{ book.title }}                              {{ book.publisher.name }}                          {{ book.price }}              {% endfor %}      {#重點(diǎn)位置#}              
  •                              首頁(yè)                      
  •                 {{ page_html|safe }}         
  •                              尾頁(yè)                      
  •     

    Python 代碼

    def book_list(request):
        # 每一頁(yè)顯示數(shù)量
        per_page = 7
    
        # 總數(shù)據(jù)
        total_count = models.Book.objects.all().count()
    
        # 總共需要多少頁(yè)顯示數(shù)據(jù)
        total_page, m = divmod(total_count, per_page)
        if m:
            total_page += 1
    
        # 從URL中取參數(shù),當(dāng)沒(méi)有page時(shí),page_num為1,當(dāng)page_num大于總頁(yè)數(shù)時(shí),賦于最后一頁(yè),當(dāng)page為字符時(shí),異常出錯(cuò)時(shí),為1值
        try:
            page_num = request.GET.get("page")
            page_num = int(page_num)
            if page_num > total_page:
                page_num = total_page
            elif page_num < 1:
                page_num =1
        except Exception as e:
            page_num = 1
    
        #定義兩個(gè)變量,截取數(shù)據(jù)
        data_start = (page_num-1)*per_page
        data_end = page_num*per_page
    
        #頁(yè)面上總共展示多少頁(yè)面
        max_page =11
        if total_page < max_page:
            max_page = total_page
    
        half_max_page = max_page//2    #結(jié)果為5,即左右各5頁(yè)
    
        # 頁(yè)面上展示的面碼從那兒結(jié)束
        page_end = page_num + half_max_page
    
        #頁(yè)面上展示的頁(yè)碼從那兒開(kāi)始
        page_start = page_num - half_max_page
    
        #如果當(dāng)前面減一半比1還小
        if page_start <= 1:
            page_start = 1
            page_end = max_page
    
        #如果當(dāng)前頁(yè)大于總頁(yè)數(shù)
        if page_end >= total_page:
            page_end = total_page
            page_start = total_page-max_page+1
    
        #在后臺(tái)拼接分頁(yè)的html
        html_str_list = []
        for i in range(page_start, page_end+1):
            #為當(dāng)前加一個(gè)active樣式
            if i == page_num:
                tmp = '{0}'.format(i)
            else:
                tmp = '
  • {0}
  • '.format(i)         html_str_list.append(tmp)     #將所有l(wèi)i的html文件拼接連接成一塊     page_html = "".join(html_str_list)     #print(page_html)     all_book = models.Book.objects.all()[data_start:data_end]     return render(request,"book.html",{"book_list":all_book,"page_html":page_html,"total_page":total_page})

    展示效果

    Django中怎么實(shí)現(xiàn)一個(gè)分頁(yè)功能

    關(guān)于Django中怎么實(shí)現(xiàn)一個(gè)分頁(yè)功能就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

    另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


    本文名稱:Django中怎么實(shí)現(xiàn)一個(gè)分頁(yè)功能-創(chuàng)新互聯(lián)
    本文來(lái)源:http://weahome.cn/article/dghjhd.html

    其他資訊

    在線咨詢

    微信咨詢

    電話咨詢

    028-86922220(工作日)

    18980820575(7×24)

    提交需求

    返回頂部