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 相关文章推荐
在Python中用get()方法获取字典键值的教程
May 21 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
Jan 20 Python
Python实现获取命令行输出结果的方法
Jun 10 Python
Python字符串拼接的几种方法整理
Aug 02 Python
python numpy 一维数组转变为多维数组的实例
Jul 02 Python
详解python函数的闭包问题(内部函数与外部函数详述)
May 17 Python
Python图像处理之图片文字识别功能(OCR)
Jul 30 Python
python中单下划线(_)和双下划线(__)的特殊用法
Aug 29 Python
将pytorch转成longtensor的简单方法
Feb 18 Python
python中for in的用法详解
Apr 17 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
Sep 05 Python
Python 中数组和数字相乘时的注意事项说明
May 10 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
thinkphp的CURD和查询方式介绍
2013/12/19 PHP
php随机抽奖实例分析
2015/03/04 PHP
PHP获取photoshop写入图片文字信息的方法
2015/03/31 PHP
php源码分析之DZX1.5随机数函数random用法
2015/06/17 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
一不小心就做错的JS闭包面试题
2015/11/25 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
原生JS实现的放大镜效果实例代码
2016/10/15 Javascript
微信小程序 实战实例开发流程详细介绍
2017/01/05 Javascript
微信小程序基于本地缓存实现点赞功能的方法
2017/12/18 Javascript
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
Angular事件之不同组件间传递数据的方法
2018/11/15 Javascript
vue使用高德地图根据坐标定位点的实现代码
2019/08/22 Javascript
基于Vue和Element-Ui搭建项目的方法
2019/09/06 Javascript
基于vue+element实现全局loading过程详解
2020/07/10 Javascript
Python中用Spark模块的使用教程
2015/04/13 Python
进一步探究Python的装饰器的运用
2015/05/05 Python
Python基于scipy实现信号滤波功能
2019/05/08 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
pycharm中选中一个单词替换所有重复单词的实现方法
2020/11/17 Python
python 实现性别识别
2020/11/21 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
html5用video标签流式加载的实现
2020/05/20 HTML / CSS
美国定制钻石订婚戒指:Ritani
2017/12/08 全球购物
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
大专毕业生求职信
2014/07/05 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
幼儿园国庆节活动总结
2015/03/23 职场文书
大学毕业论文致谢词
2015/05/14 职场文书
春节慰问简报
2015/07/21 职场文书
Python学习之异常中的finally使用详解
2022/03/16 Python
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python