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利用elaphe制作二维条形码实现代码
May 25 Python
python实现的一只从百度开始不断搜索的小爬虫
Aug 13 Python
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
Jul 11 Python
Python正则表达式的使用范例详解
Aug 08 Python
Python中asyncore的用法实例
Sep 29 Python
Python循环语句中else的用法总结
Sep 11 Python
pycharm安装图文教程
May 02 Python
Python模拟登录的多种方法(四种)
Jun 01 Python
windows下numpy下载与安装图文教程
Apr 02 Python
如何基于python生成list的所有的子集
Nov 11 Python
彻底搞懂 python 中文乱码问题(深入分析)
Feb 28 Python
详解Python中第三方库Faker
Sep 25 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查找与搜索数组元素方法总结
2015/06/12 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
php生成短网址/短链接原理和用法实例分析
2020/05/29 PHP
JavaScript实现Sleep函数的代码
2007/03/04 Javascript
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
一个轻量级的javascript库 pj介绍
2010/12/19 Javascript
我的Node.js学习之路(一)
2014/07/06 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
JavaScript修改作用域外变量的方法
2016/03/25 Javascript
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
js实现HashTable(哈希表)的实例分析
2016/11/21 Javascript
浅谈jquery的html方法里包含特殊字符的处理
2016/11/30 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
2017/05/02 Javascript
通过构造函数实例化对象的方法
2017/06/28 Javascript
详解JavaScript事件循环机制
2018/09/07 Javascript
基于vue v-for 多层循环嵌套获取行数的方法
2018/09/26 Javascript
Vue项目自动转换 px 为 rem的实现方法
2018/10/29 Javascript
小程序文字跑马灯效果
2018/12/28 Javascript
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
Python 字典dict使用介绍
2014/11/30 Python
Pycharm 设置自定义背景颜色的图文教程
2018/05/23 Python
python绘制圆柱体的方法
2018/07/02 Python
Python实现App自动签到领取积分功能
2018/09/29 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
jupyter notebook中新建cell的方法与快捷键操作
2020/04/22 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
智能电子秤、手表和健康监测仪:Withings(之前为诺基亚健康)
2018/10/30 全球购物
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
商场总经理岗位职责
2014/02/03 职场文书
社区文化建设方案
2014/05/02 职场文书
村庄绿化方案
2014/05/07 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
航班延误投诉信
2015/07/02 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python