Django1.11自带分页器paginator的使用方法


Posted in Python onOctober 31, 2019

本文实例为大家分享了Django1.11自带分页器Django的具体使用方法,供大家参考,具体内容如下

接下来我编写一个 views ,名classify。
classify,将模拟请求购物网站的分类产品、并分页返回数据。完成如下任务:

1、接受两个参数,type,page。”type”:为请求的购物网站产品类别,如 0代表热门。1代表 家居<

2、分类找到产品。分页返回。

为了方便将要传递的参数直接加载URL中。如:127.0.0.1:8000/classify/0/1/   请求的是 “type” = 0 ,”page” = 1的数据。

URLS

from django.conf.urls import url
from taobao import views

urlpatterns = [
 url(r'^classify/(\d+)/(\d+)/$',views.classify),
]

models

“category” :分类,0.代表热门;

class goods(models.Model):
 category = models.IntegerField('分类',default=0)
 goods_id = models.CharField('商品ID',max_length=10)
 goods_name = models.CharField('商品名',max_length=100,default='')
 goods_price = models.DecimalField('商品价格',max_digits=10,decimal_places=2)
 goods_Stock = models.IntegerField('商品库存',default=100)
 sales_Volume = models.IntegerField('销量',default=0)
 goods_introduce = models.CharField('商品简介',max_length=250,default='')
 def __str__(self):
 return self.goods_name

views

from taobao.models import goods

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

def classify(req,type,page):
# 接收从url中传递的两个参数。
 context = {}

 context['type'] = int(type)
 if type == '0':
 goods_list = goods.objects.order_by('sales_Volume').all()
 # 按销量排序
 else:
 goods_list = goods.objects.all().filter(category = int(type)).order_by('sales_Volume').all()

 paginator = Paginator(goods_list,8)
 # 把商品分成 8 个一页。

 try:
 # 尝试获取请求的页数的 产品信息
 goodss = paginator.page(int(page))
 #请求页数错误
 except PageNotAnInteger:
 goodss = paginator.page(1)
 except EmptyPage:
 goodss = paginator.page(paginator.num_pages)

 context['goods'] = goodss
 return render(req,'classify.html',context)

html页面 classify.html

{% block content %}
 <div style="margin-top: 20px">
 <div class="w1240">
  <div class="line100"></div>
  {# 根据type分类 显示不同图片汉字 #}
  <div class="icon"><img src="/static/images/type/{{ type }}.png"> <a>{% if type == 0 %}热门{% elif type == 1 %}美味餐厨{% elif type == 2 %}家纺家居{% endif %}</a> </div>
 </div>
 </div>

 <div class="w1240">
 <ul class="m-itemList m-itemList-level2Category">
  {% for i in goods %}
  <li class="item">
   <div class="m-product">
   <span></span>
   <div class="hd">
   <a href="/taobao/goods/{{ i.goods_id }}" >
    <img src="/static/images/goods/{{ i.goods_id}}.jpg" class ="img">
   </a>
   </div>

   <div class="bd">
    <a href="/taobao/goods/{{ i.goods_id }}" >
   <h4 class="name">{{ i.goods_name }}</h4>
    </a>
    <p style="color: #050505;font-weight: bold;text-align:center" >{{ i.goods_introduce }}</p>
   <p class="price">¥{{ i.goods_price }}</p>
   <hr>
   </div>
  </div>
  </li>
  {% endfor %}

 </ul>
 <div style="padding-right:60px">
 <span style="float: right">
  <a href="/taobao/classify/{{ type }}/{{ goods.start_index }}" > 第一页 |  </a>
  {% if goods.has_previous %}
  <a href="/taobao/classify/{{ type }}/{{ goods.previous_page_number }}" > 上一页  </a>
  {% if goods.has_next%}
  <span> | </span>
  {% endif %}
  {% endif %}
  {% if goods.has_next %}
  <a href="/taobao/classify/{{ type }}/{{ goods.next_page_number }}" > 下一页  </a>
  {% endif %}
  <a href="/taobao/classify/{{ type }}/{{ goods.end_index }}" >| 末尾页 </a>
 </span>
 </div>
 </div>
 <div class="clear"></div>

{% endblock %}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
haskell实现多线程服务器实例代码
Nov 26 Python
玩转python爬虫之爬取糗事百科段子
Feb 17 Python
Python进阶_关于命名空间与作用域(详解)
May 29 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
Apr 18 Python
在Pycharm中项目解释器与环境变量的设置方法
Oct 29 Python
Python闭包思想与用法浅析
Dec 27 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
Feb 20 Python
python networkx 包绘制复杂网络关系图的实现
Jul 10 Python
Pytest参数化parametrize使用代码实例
Feb 22 Python
python实现批量修改文件名
Mar 23 Python
用python实现监控视频人数统计
May 21 Python
Python实现位图分割的效果
Nov 20 Python
python实现批量文件重命名
Oct 31 #Python
Python使用matplotlib 画矩形的三种方式分析
Oct 31 #Python
python实现操作文件(文件夹)
Oct 31 #Python
python用requests实现http请求代码实例
Oct 31 #Python
python zip()函数使用方法解析
Oct 31 #Python
python实现按首字母分类查找功能
Oct 31 #Python
利用python Selenium实现自动登陆京东签到领金币功能
Oct 31 #Python
You might like
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
php实现水印文字和缩略图的方法示例
2016/12/29 PHP
一端时间轮换的广告
2006/06/26 Javascript
jquery cookie插件代码类
2009/05/26 Javascript
javascript globalStorage类代码
2009/06/04 Javascript
一个基于jquery的文本框记数器
2012/09/19 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
2013/10/24 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
DEDECMS如何为文章添加HOT NEW标志图片
2015/08/14 Javascript
jquery ajax双击div可直接修改div中的内容
2016/03/04 Javascript
js仿淘宝评价评分功能
2017/02/28 Javascript
深究AngularJS中$sce的使用
2017/06/12 Javascript
深入了解javascript 数组的sort方法
2018/06/01 Javascript
详解vue组件开发脚手架
2018/06/15 Javascript
PHPStorm中如何对nodejs项目进行单元测试详解
2019/02/28 NodeJs
JavaScript定时器设置、使用与倒计时案例详解
2019/07/08 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
VsCode里的Vue模板的实现
2020/08/12 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
如何将python中的List转化成dictionary
2016/08/15 Python
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
5个很好的Python面试题问题答案及分析
2018/01/19 Python
python pcm音频添加头转成Wav格式文件的方法
2019/01/09 Python
django解决跨域请求的问题详解
2019/01/20 Python
pycharm配置当鼠标悬停时快速提示方法参数
2019/07/31 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
2019/09/05 Python
python matplotlib折线图样式实现过程
2019/11/04 Python
Django自定义用户表+自定义admin后台中的字段实例
2019/11/18 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
Python使用OpenPyXL处理Excel表格
2020/07/02 Python
HTML5给汉字加拼音收起展开组件的实现代码
2020/04/08 HTML / CSS
全国税务系统先进集体事迹材料
2014/05/19 职场文书
南京大屠杀观后感
2015/06/02 职场文书
军训决心书范文
2015/09/22 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书