亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django 中怎么利用Paginator實現分頁

發布時間:2021-07-20 16:07:46 來源:億速云 閱讀:112 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關Django 中怎么利用Paginator實現分頁,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

一、通過模型創建Subject

Django models

from django.db import models 
class Subject(models.Model):   
  """學科""”   
  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 = "學科"

二、通過view模塊,要呈現到前端的數據

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):
  """查詢學科"""
  #查詢Subject 表的所有數據
  subjects = Subject.objects.all().order_by("no”)
  #使用Paginator模塊對數據分頁,一頁5條數據
  paginator = Paginator(subjects, 5)
  #使用request.GET.get()函數獲取uri中的page參數的數值
  page = request.GET.get('page')
  try:
    #通過獲取上面的page參數,查詢此page是否為整數并且是否可用
    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中的數據渲染到前端模版上

前端分頁代碼塊:

<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>

四、最終顯示效果

Django 中怎么利用Paginator實現分頁

關于Django 中怎么利用Paginator實現分頁就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福安市| 怀来县| 吴江市| 郸城县| 留坝县| 松原市| 抚顺县| 泰来县| 都江堰市| 长垣县| 沿河| 武穴市| 靖州| 赣州市| 林周县| 信丰县| 阜新| 磐石市| 济阳县| 崇左市| 邢台市| 义乌市| 上蔡县| 襄城县| 尉氏县| 邹平县| 新邵县| 监利县| 赤城县| 锡林郭勒盟| 沧州市| 大同市| 屏边| 贵德县| 金塔县| 桓台县| 屏东县| 上思县| 交口县| 静乐县| 惠州市|