91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

财经| 澄迈县| 余干县| 治多县| 斗六市| 保山市| 大方县| 遂昌县| 都兰县| 全椒县| 墨脱县| 友谊县| 平阴县| 双牌县| 丰都县| 金平| 永嘉县| 安岳县| 万安县| 郯城县| 综艺| 庆城县| 富川| 平陆县| 上犹县| 湖州市| 本溪市| 同德县| 昌邑市| 崇明县| 焉耆| 靖西县| 潜江市| 安阳市| 泽普县| 和政县| 稷山县| 西华县| 准格尔旗| 延长县| 寿阳县|