怎么在python中使用Django框架實現在web端分頁呈現數據-創新互聯

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

目前累計服務客戶上千家,積累了豐富的產品開發及服務經驗。以網站設計水平和技術實力,樹立企業形象,為客戶提供成都網站設計、網站制作、網站策劃、網頁設計、網絡營銷、VI設計、網站改版、漏洞修補等服務。成都創新互聯公司始終以務實、誠信為根本,不斷創新和提高建站品質,通過對領先技術的掌握、對創意設計的研究、對客戶形象的視覺傳遞、對應用系統的結合,為客戶提供更好的一站式互聯網解決方案,攜手廣大客戶,共同發展進步。

首先介紹Django中的paginator類。paginator是Django中提供的可以實現管理數據分頁的類。

from django.core import paginator

下面是本文用到的paginator中的屬性和方法。

Paginator對象

1. 構造:Paginator(列表,int):返回分頁的整體對象。
2. page_range:返回頁碼列表 [1,2,3,4…]
3. page(num):返回num頁的數據內容

Page對象

1. 構造:Paginator對象的page()方法返回Page對象。
2. number:返回當前頁的序號。
3. paginator:當前page對象相關的Paginator對象。page.paginator相當于Paginator對象。

A. 構造url。

#---urls.py------
from django.conf.urls import url
import views
urlpatterns = [
 # 這個url構造在根目錄下
 # 定義為'info/數字'是為了傳一個頁面序號為參數給視圖函數
 # 視圖函數接收到這個數字為參數后,就可以調用對應頁的數據呈現
 # 例如我們輸入www.xxx.com/info/3,視圖函數就會接收到(request,3)兩個參數
 url(r'^info/(\d*)$',views.info),
]
#---------

B. 編寫視圖函數的邏輯。

#---views.py---
from django.shortcuts import render
# 這里的lcoation是定義的模型類,包含有若干條地名數據
from models import location
from django.core import paginator

# 視圖函數
# 同樣,index是url傳進來的頁面序號
def info(request,index):
 # 獲取所有的的數據,list是一個列表,包含有所有數據對應的實例對象
 list = location.objects.all()
 # 使用Paginator方法返回一個分頁的對象
 # 這個對象包括所有數據,分頁的情況
 pag = paginator.Paginator(list,3)
 # 使用此判斷語句是為了在用戶跳轉www.xxx.com/info/時也能訪問第一頁
 if index=='':
  index=1
 # 返回指定(index)頁的數據,用于呈現在指定頁上
 page = pag.page(index)
 # 構造上下文,以便html文件中能調用對應頁的數據
 context = {
  'page':page,
 }
 return render(request,'booktest/info.html',context)
#---------

C. 模板文件。

#---info.html------
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
<ul>
 # 視圖函數傳進來的上下文page是指定頁的數據
 {% for each in page %}
 # 遍歷顯示每條數據
 <li>{{ each.location_name }}</li>
 {% endfor %}
</ul>
<hr>
 # 這里是重點
 # 同樣還是需要調用視圖函數傳進來的page頁的頁碼
 # page.paginator得到page的paginator對象
 # page.pageinator.page_range page_range可以返回頁面列表[1,2,3,4...]
 # 遍歷頁面列表
 {% for index in page.paginator.page_range %}
  # page.number是視圖函數現在呈現頁的頁碼
  # 這個頁碼不需要做超鏈接
  {% if index == page.number %}
  <span>{{ index }}</span>
  {% else %}
  # 生成每頁超鏈接
  # 點擊每一個數字對應的鏈接就是'/info/點擊的頁數'
  # 這樣在url解析的時候,又可以把這一頁的編號傳給視圖函數
  # 視圖函數根據這個頁碼呈現對應的內容
   <a href="/info/{{index}}" rel="external nofollow" >{{ index }}</a>
  {% endif %}
 {% endfor %}

</body>
</html>
#---------

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

當前名稱:怎么在python中使用Django框架實現在web端分頁呈現數據-創新互聯
轉載源于:http://m.kartarina.com/article36/iiesg.html

成都網站建設公司_創新互聯,為您提供網站收錄做網站小程序開發網站導航搜索引擎優化網站改版

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

微信小程序開發
主站蜘蛛池模板: 亚洲国产av高清无码| 国产av永久精品无码| 亚洲精品无码日韩国产不卡av| 久久人妻无码中文字幕| 久久精品无码中文字幕| 人妻中文字幕无码专区| 亚洲爆乳无码精品AAA片蜜桃| 无码任你躁久久久久久久 | 亚洲AV无码专区亚洲AV伊甸园| 无码AV波多野结衣久久| 免费无码成人AV片在线在线播放| 国产AV无码专区亚洲精品| 无码国产亚洲日韩国精品视频一区二区三区 | 久久国产精品无码HDAV| 亚洲成a人在线看天堂无码| 亚洲av无码国产精品夜色午夜| 黑人巨大无码中文字幕无码| 91精品久久久久久无码| 亚洲乱码无码永久不卡在线| 国产成人无码专区| 一本久道中文无码字幕av| 人妻少妇精品无码专区| 日韩AV无码精品人妻系列| 无码人妻AⅤ一区二区三区| 国产精品无码A∨精品影院| 亚洲人成影院在线无码观看| 久久人午夜亚洲精品无码区| 中文字幕乱偷无码av先锋蜜桃| 亚洲国产a∨无码中文777| 久久无码av三级| 亚洲欧洲无码AV电影在线观看 | 精品久久久久久久无码久中文字幕| 亚洲AV中文无码乱人伦下载| 亚洲av永久无码精品国产精品| 亚洲一区二区三区无码中文字幕| 国产精品无码无片在线观看| 无码囯产精品一区二区免费| 色噜噜综合亚洲av中文无码| 精品亚洲AV无码一区二区三区| 亚洲看片无码在线视频| 精品久久久久久无码专区|