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

Django實現(xiàn)網(wǎng)頁分頁功能

 更新時間:2019年10月31日 14:20:55   作者:回憶不說話  
這篇文章主要介紹了Django實現(xiàn)網(wǎng)頁分頁功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Django實現(xiàn)分頁功能,為了容易區(qū)別功能的展現(xiàn),先創(chuàng)建一個數(shù)據(jù)庫,用數(shù)據(jù)庫中的數(shù)據(jù)做演示。

創(chuàng)建數(shù)據(jù)庫步驟如下:

1.創(chuàng)建模型,代碼如下:

from django.db import models

# Create your models here.
class Goods(models.Model):
 name = models.CharField(max_length=100)
 des = models.CharField(max_length=1000)
 class Meta:
  db_table = 'goods'

2.向數(shù)據(jù)庫中添加數(shù)據(jù),代碼如下:

from django.http import HttpResponse

from .models import Goods
import random
# Create your views here.

def index(request):
 for x in range(200):
  good = Goods(name='good%s'%x,des='該商品物美價廉,現(xiàn)在只需要{}元'.format(random.randint(10,100)))
  good.save()
 return HttpResponse('數(shù)據(jù)添加成功')

添加之后將代碼就可以注釋掉了,我們演示的時候再新建一個select接口作為演示界面。

from django.shortcuts import render
from django.core.paginator import Paginator , PageNotAnInteger,EmptyPage

# Create your views here.

def select(request):
 # 查詢數(shù)據(jù)庫中的所有數(shù)據(jù)
 good_list = Goods.objects.all()
 # 值1:所有的數(shù)據(jù)
 # 值2:每一頁的數(shù)據(jù)
 # 值3:當(dāng)最后一頁數(shù)據(jù)少于n條,將數(shù)據(jù)并入上一頁
 paginator = Paginator(good_list,12,3)

 try:
  # GET請求方式,get()獲取指定Key值所對應(yīng)的value值
  # 獲取index的值,如果沒有,則設(shè)置使用默認(rèn)值1
  num = request.GET.get('index','1')
  # 獲取第幾頁
  number = paginator.page(num)
 except PageNotAnInteger:
  # 如果輸入的頁碼數(shù)不是整數(shù),那么顯示第一頁數(shù)據(jù)
  number = paginator.page(1)
 except EmptyPage:
  number = paginator.page(paginator.num_pages)

 # 將當(dāng)前頁頁碼,以及當(dāng)前頁數(shù)據(jù)傳遞到index.html
 return render(request,'index.html',{'page':number,'paginator':paginator})

下面我們在index.html做界面處理,這里是需要用到bootstraps,三個文件如下圖所示,前面講解過。

來到index.html文件,做如下設(shè)置:

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <link rel="stylesheet" href="{% static 'css/bootstrap.css' %}" >
 <!--<link rel="stylesheet" href="">-->
 <title>淘寶</title>
</head>
<body>
 {% for good in page.object_list %}
  <h4>{{good.name}} - {{good.des}}</h4>
 {% endfor %}
 <ul class="pagination">
  {# 如果當(dāng)前頁還有上一頁 #}
  {% if page.has_previous %}
   <li>
    {# 點擊a標(biāo)簽,跳轉(zhuǎn)到上一頁鏈接 ?index 為地址后面拼接的參數(shù) #}
    <a href="?index={{page.previous_page_number}}" >上一頁</a>
   </li>
  {% else %}
   {# 如果沒有上一頁, 則上一頁按鈕不可點擊 #}
   <li class="disabled">
    <a href="#">上一頁</a>
   </li>
  {% endif %}

  {% for page_number in paginator.page_range %}
   {# 獲取當(dāng)前頁的頁碼 #}
   {% if page_number == page.number %}
    {# 如果是當(dāng)前頁的話,選中 #}
    <li class="active">
     <a href="?index={{page_number}}">{{page_number}}</a>
    </li>
   {% else %}
    <li>
     <a href="?index={{page_number}}">{{page_number}}</a>
    </li>
   {% endif %}
  {% endfor %}

  {% if page.has_next %}
   <li>
    <a href="?index={{page.next_page_number}}">下一頁</a>
   </li>
  {% else %}
  <li class="disabled">
   <a href="#" >下一頁</a>
  </li>
  {% endif %}
 </ul>

 <script src="{% static 'js/jquery.js' %}"></script>
 <script src="{% static 'js/bootstrap.js' %}"></script>
</body>
</html>

顯示效果如下:

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

相關(guān)文章

  • Python使用tkinter模塊實現(xiàn)GUI界面的學(xué)生信息管理系統(tǒng)流程分步詳解

    Python使用tkinter模塊實現(xiàn)GUI界面的學(xué)生信息管理系統(tǒng)流程分步詳解

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)簡易學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2023-01-01
  • 對python中的six.moves模塊的下載函數(shù)urlretrieve詳解

    對python中的six.moves模塊的下載函數(shù)urlretrieve詳解

    今天小編就為大家分享一篇對python中的six.moves模塊的下載函數(shù)urlretrieve詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 使用Python發(fā)現(xiàn)隱藏的wifi

    使用Python發(fā)現(xiàn)隱藏的wifi

    今天與大家一起分享使用Python來發(fā)現(xiàn)隱藏的wifi,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Python如何實現(xiàn)伽馬矯正

    Python如何實現(xiàn)伽馬矯正

    這篇文章主要介紹了Python如何實現(xiàn)伽馬矯正問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Dlib+OpenCV深度學(xué)習(xí)人臉識別的方法示例

    Dlib+OpenCV深度學(xué)習(xí)人臉識別的方法示例

    這篇文章主要介紹了Dlib+OpenCV深度學(xué)習(xí)人臉識別的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • python的函數(shù)參數(shù)你了解嗎

    python的函數(shù)參數(shù)你了解嗎

    這篇文章主要為大家詳細(xì)介紹了python的函數(shù)參數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • django框架自定義模板標(biāo)簽(template tag)操作示例

    django框架自定義模板標(biāo)簽(template tag)操作示例

    這篇文章主要介紹了django框架自定義模板標(biāo)簽(template tag)操作,結(jié)合實例形式分析了Django框架自定義模板標(biāo)簽原理、操作步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-06-06
  • Python安裝及Pycharm安裝使用教程圖解

    Python安裝及Pycharm安裝使用教程圖解

    這篇文章主要介紹了Python安裝以及Pycharm安裝使用教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • Python通過m3u8文件下載合并ts視頻的操作

    Python通過m3u8文件下載合并ts視頻的操作

    這篇文章主要介紹了Python通過m3u8文件下載合并ts視頻的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 使用django和vue進(jìn)行數(shù)據(jù)交互的方法步驟

    使用django和vue進(jìn)行數(shù)據(jù)交互的方法步驟

    這篇文章主要介紹了使用django和vue進(jìn)行數(shù)據(jù)交互的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評論

平江县| 贵港市| 济南市| 石泉县| 怀远县| 林甸县| 兴安盟| 临安市| 锡林浩特市| 尚志市| 吴桥县| 肇源县| 南宫市| 新巴尔虎左旗| 济阳县| 盖州市| 谢通门县| 莒南县| 清水河县| 黔南| 盐边县| 岑溪市| 昌黎县| 高尔夫| 灌阳县| 迁西县| 阳东县| 罗山县| 齐齐哈尔市| 朝阳区| 德昌县| 五河县| 盐津县| 衡水市| 泸州市| 黔东| 星子县| 德格县| 广灵县| 南丰县| 清远市|