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 相关文章推荐
打开电脑上的QQ的python代码
Feb 10 Python
Python去除列表中重复元素的方法
Mar 20 Python
利用Python实现图书超期提醒
Aug 02 Python
Python实现对一个函数应用多个装饰器的方法示例
Feb 09 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
matlab中实现矩阵删除一行或一列的方法
Apr 04 Python
python实现人人自动回复、抢沙发功能
Jun 08 Python
Python中时间datetime的处理与转换用法总结
Feb 18 Python
python粘包问题及socket套接字编程详解
Jun 29 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
Aug 20 Python
详解Python中Pyyaml模块的使用
Oct 08 Python
python 解决函数返回return的问题
Dec 05 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对现有搜索引擎的调用
2013/06/25 PHP
php打造智能化的柱状图程序,用于报表等
2015/06/19 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
2015/12/30 PHP
thinkphp整合微信支付代码分享
2016/11/24 PHP
表单项的name命名为submit、reset引起的问题
2007/12/22 Javascript
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
对象特征检测法判断浏览器对javascript对象的支持
2009/07/25 Javascript
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
2013/07/09 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
2014/01/26 Javascript
手机端转盘抽奖代码分享
2015/09/10 Javascript
javascript基础语法学习笔记
2016/01/04 Javascript
最丑的时钟效果!js canvas时钟制作方法
2016/08/15 Javascript
JS实现动画兼容性的transition和transform实例分析
2016/12/13 Javascript
javascript history对象详解
2017/02/09 Javascript
jQuery阻止移动端遮罩层后页面滚动
2017/03/15 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
2018/01/16 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
JS实现的input选择图片本地预览功能示例
2018/08/29 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
JS原型prototype和__proto__用法实例分析
2020/03/14 Javascript
python中pycurl库的用法实例
2014/09/30 Python
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
python中常用的九种预处理方法分享
2016/09/11 Python
pandas string转dataframe的方法
2018/04/11 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
2018/07/09 Python
python使用minimax算法实现五子棋
2019/07/29 Python
CSS3实现3D翻书效果
2016/06/20 HTML / CSS
英国电动工具购买网站:Anglia Tool Centre
2017/04/25 全球购物
西班牙香水和化妆品网上商店:Douglas
2017/10/29 全球购物
怎样客观的做好自我评价
2013/12/28 职场文书
建筑文秘专业个人求职信范文
2013/12/28 职场文书
讲座主持词
2014/03/20 职场文书
房屋产权证明书
2014/10/15 职场文书
《暗黑破坏神2:重制版》本周进行第一轮A测 目前可官网进行申请报名
2021/04/07 其他游戏
微软Win11 全新照片应用面向 Dev预览版推出 新版本上手体验图集
2022/09/23 数码科技