最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

三步實現(xiàn)Django Paginator分頁的方法

 更新時間:2019年06月11日 11:50:53   作者:宜信技術(shù)學(xué)院  
這篇文章主要介紹了三步實現(xiàn)Django Paginator分頁的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Django提供了一個新的類來幫助管理分頁數(shù)據(jù),這個類存放在django/core/paginator.py.它可以接收列表、元組或其它可迭代的對象。本文將分三步介紹Django Paginator 分頁的實現(xiàn)步驟

一、通過模型創(chuàng)建Subject

Django models

from django.db import models 
class Subject(models.Model):   
  """學(xué)科""”   
  no = models.AutoField(primary_key=True, verbose_name="編號")   
  name = models.CharField(max_length=31, verbose_name="名稱")   
  intro = models.CharField(max_length=511, verbose_name="介紹")   
  def __str__(self):     
    return self.name   
  
  class Meta:     
    db_table = 'tb_subject'     
    verbose_name_plural = "學(xué)科"

二、通過view模塊,要呈現(xiàn)到前端的數(shù)據(jù)

Django view 的配置

from django.shortcuts import render
from django.core.paginator import Paginator, InvalidPage, EmptyPage, PageNotAnInteger
from vote.models import Subject
def show_subject(request):
  """查詢學(xué)科"""
  #查詢Subject 表的所有數(shù)據(jù)
  subjects = Subject.objects.all().order_by("no”)
  #使用Paginator模塊對數(shù)據(jù)分頁,一頁5條數(shù)據(jù)
  paginator = Paginator(subjects, 5)
  #使用request.GET.get()函數(shù)獲取uri中的page參數(shù)的數(shù)值
  page = request.GET.get('page')
  try:
    #通過獲取上面的page參數(shù),查詢此page是否為整數(shù)并且是否可用
    subject_obj = paginator.page(page)
  except PageNotAnInteger:
    subject_obj = paginator.page(1)
  except (EmptyPage, InvalidPage):
    subject_obj = paginator.page(paginator.num_pages)
  return render(request, "vote/subject.html", {'subject_list': subject_obj})

三、將view中的數(shù)據(jù)渲染到前端模版上

前端分頁代碼塊:

<div class="pull-right" style="margin-right: 480px;margin-top: 0px”>
        <!— 分頁功能-->
        <nav>
          <ul class="pagination”>
            <!— 分頁功能前端的方向箭頭代碼-->
            {% if subject_list.has_previous %}
            <li class="enabled">
              <a href="?page={{ subject_list.previous_page_number }}" rel="external nofollow" aria-label="Previous">
                <span aria-hidden="true">&laquo;</span>
              </a>
            </li>
            {% endif %}
            <!— 分頁功能顯示頁碼的中間部分代碼-->
            {% for page_num in subject_list.paginator.page_range %}
              {% if page_num == subject_list.number %}
                <li class="active">
                  <a href="#" rel="external nofollow" >
                    {{ page_num }}
                    <span class="sr-only">(current)</span>
                  </a>
                </li>
              {% else %}
                <li>
                  <a href="?page={{ page_num }}" rel="external nofollow" >{{ page_num }}
                    <span class="sr-only">(current)</span>
                  </a>
                </li>
              {% endif %}
            {% endfor %}
            <!— 分頁功能末端的方向箭頭代碼-->
            {% if subject_list.has_next %}
            <li class="enabled">
              <a href="?page={{ subject_list.next_page_number }}" rel="external nofollow" aria-label="last">
                <span aria-hidden="true">&raquo;</span>
              </a>
            </li>
            {% endif %}
          </ul>
        </nav>
</div>

四、最終顯示效果

 以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • OpenCV-Python?對圖像的基本操作代碼

    OpenCV-Python?對圖像的基本操作代碼

    這篇文章主要介紹了OpenCV-Python?對圖像的基本操作,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • 三行Python代碼提高數(shù)據(jù)處理腳本速度

    三行Python代碼提高數(shù)據(jù)處理腳本速度

    Python是一門非常適合處理數(shù)據(jù)和自動化完成重復(fù)性工作的編程語言,我們在用數(shù)據(jù)訓(xùn)練機(jī)器學(xué)習(xí)模型之前,通常都需要對數(shù)據(jù)進(jìn)行預(yù)處理,而Python就非常適合完成這項工作。本文將為大家介紹如何利用Python代碼讓你的數(shù)據(jù)處理腳本快別人4倍,需要的可以參考一下
    2022-03-03
  • TensorFlow的環(huán)境配置與安裝方法

    TensorFlow的環(huán)境配置與安裝方法

    這篇文章主要介紹了TensorFlow的環(huán)境配置與安裝方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 用Python3通過PyCharm上傳代碼到Git服務(wù)器的詳細(xì)過程

    用Python3通過PyCharm上傳代碼到Git服務(wù)器的詳細(xì)過程

    上傳代碼到服務(wù)器,如果不知道的情況下還用傳統(tǒng)的方式上傳很麻煩,現(xiàn)在很多IDE都提供上傳代碼的功能,例如:VSCode,PyCharm等等,本文講解的是PyCharm,需要的朋友可以參考下
    2024-03-03
  • Python解決爬蟲程序卡死問題

    Python解決爬蟲程序卡死問題

    這篇文章主要介紹了Python解決爬蟲程序卡死問題,文章圍繞主題展開詳細(xì)內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • 詳解python中asyncio模塊

    詳解python中asyncio模塊

    本篇文章給大家詳細(xì)分析了python中重要的asyncio模塊相關(guān)知識點,有興趣的朋友可以學(xué)習(xí)參考下。
    2018-03-03
  • Pandas過濾dataframe中包含特定字符串的數(shù)據(jù)方法

    Pandas過濾dataframe中包含特定字符串的數(shù)據(jù)方法

    今天小編就為大家分享一篇Pandas過濾dataframe中包含特定字符串的數(shù)據(jù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 用Python編寫腳本使IE實現(xiàn)代理上網(wǎng)的教程

    用Python編寫腳本使IE實現(xiàn)代理上網(wǎng)的教程

    這篇文章主要介紹了用Python編寫腳本使IE實現(xiàn)代理上網(wǎng)的教程,“著名的”goagent代理也是基于同樣原理實現(xiàn),需要的朋友可以參考下
    2015-04-04
  • 如何為Python終端提供持久性歷史記錄

    如何為Python終端提供持久性歷史記錄

    這篇文章主要介紹了如何為Python終端提供持久性歷史記錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Python中NumPy的線性代數(shù)子模塊linalg詳解

    Python中NumPy的線性代數(shù)子模塊linalg詳解

    這篇文章主要介紹了Python中NumPy的線性代數(shù)子模塊linalg詳解,NumPy 的線性代數(shù)子模塊linalg提供了 20 余個函數(shù),用于求解行列式、逆矩陣、特征值、特征向量,以及矩陣分解等,需要的朋友可以參考下
    2023-08-08

最新評論

兴文县| 沈阳市| 云阳县| 徐州市| 灯塔市| 古丈县| 河津市| 句容市| 泽库县| 宜黄县| 马龙县| 军事| 富锦市| 大新县| 科技| 永登县| 宜兰市| 苏尼特左旗| 长岭县| 含山县| 集贤县| 洮南市| 若羌县| 铜川市| 黄梅县| 临高县| 疏勒县| 明水县| 榆树市| 沁水县| 通州区| 华池县| 临清市| 太仓市| 六盘水市| 富宁县| 汨罗市| 昆山市| 津市市| 永胜县| 元江|