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

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

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

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

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

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ù)庫(kù)中添加數(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='該商品物美價(jià)廉,現(xiàn)在只需要{}元'.format(random.randint(10,100)))
  good.save()
 return HttpResponse('數(shù)據(jù)添加成功')

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

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

# Create your views here.

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

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

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

下面我們?cè)趇ndex.html做界面處理,這里是需要用到bootstraps,三個(gè)文件如下圖所示,前面講解過。

來到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)前頁(yè)還有上一頁(yè) #}
  {% if page.has_previous %}
   <li>
    {# 點(diǎn)擊a標(biāo)簽,跳轉(zhuǎn)到上一頁(yè)鏈接 ?index 為地址后面拼接的參數(shù) #}
    <a href="?index={{page.previous_page_number}}" >上一頁(yè)</a>
   </li>
  {% else %}
   {# 如果沒有上一頁(yè), 則上一頁(yè)按鈕不可點(diǎn)擊 #}
   <li class="disabled">
    <a href="#">上一頁(yè)</a>
   </li>
  {% endif %}

  {% for page_number in paginator.page_range %}
   {# 獲取當(dāng)前頁(yè)的頁(yè)碼 #}
   {% if page_number == page.number %}
    {# 如果是當(dāng)前頁(yè)的話,選中 #}
    <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}}">下一頁(yè)</a>
   </li>
  {% else %}
  <li class="disabled">
   <a href="#" >下一頁(yè)</a>
  </li>
  {% endif %}
 </ul>

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

顯示效果如下:

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論

大连市| 福海县| 晴隆县| 南和县| 文安县| 读书| 曲沃县| 新津县| 五家渠市| 临漳县| 斗六市| 大冶市| 乌拉特中旗| 赣州市| 方正县| 台前县| 南开区| 绥江县| 新巴尔虎左旗| 武川县| 钦州市| 襄樊市| 嘉峪关市| 嘉善县| 舟曲县| 灌云县| 海安县| 土默特右旗| 马龙县| 称多县| 繁峙县| 邓州市| 淮北市| 建昌县| 延吉市| 喜德县| 齐齐哈尔市| 玛沁县| 南部县| 福泉市| 武城县|