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编写的com组件发生R6034错误的原因与解决办法
Apr 01 Python
python通过线程实现定时器timer的方法
Mar 16 Python
使用Python发送各种形式的邮件的方法汇总
Nov 09 Python
Python的mysql数据库的更新如何实现
Jul 31 Python
详解python string类型 bytes类型 bytearray类型
Dec 16 Python
python3.6+django2.0开发一套学员管理系统
Mar 03 Python
python getpass实现密文实例详解
Sep 24 Python
Python小程序之在图片上加入数字的代码
Nov 26 Python
pytorch实现用CNN和LSTM对文本进行分类方式
Jan 08 Python
python烟花效果的代码实例
Feb 25 Python
python 爬取小说并下载的示例
Dec 07 Python
如何用Django处理gzip数据流
Jan 29 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/02/03 PHP
基于curl数据采集之单页面采集函数get_html的使用
2013/04/28 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
DOM和XMLHttpRequest对象的属性和方法整理
2012/01/04 Javascript
Javascript对象属性方法汇总
2013/11/21 Javascript
js的Boolean对象初始值示例
2014/03/04 Javascript
jQuery新的事件绑定机制on()示例应用
2014/07/18 Javascript
Node.js包管理器Yarn的入门介绍与安装
2016/10/17 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
详解Vue整合axios的实例代码
2017/06/21 Javascript
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
Vue.js点击切换按钮改变内容的实例讲解
2018/08/22 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
微信小程序 如何获取网络状态
2019/07/26 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
JS使用正则表达式实现常用的表单验证功能分析
2020/04/30 Javascript
OpenLayers加载缩放控件使用方法详解
2020/09/25 Javascript
python矩阵转换为一维数组的实例
2018/06/05 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
python实现五子棋小游戏
2020/03/25 Python
python实现将列表中各个值快速赋值给多个变量
2020/04/02 Python
python爬虫要用到的库总结
2020/07/28 Python
python反爬虫方法的优缺点分析
2020/11/25 Python
python 通过 pybind11 使用Eigen加速代码的步骤
2020/12/07 Python
CSS3实现彩色进度条动画的示例
2020/10/29 HTML / CSS
英国在线自行车商店:Evans Cycles
2016/09/26 全球购物
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
奥地利时尚、美容、玩具和家居之家:Kastner & Öhler
2020/04/26 全球购物
七一表彰活动方案
2014/01/18 职场文书
运动会800米加油稿
2014/02/22 职场文书
社区工作者感言
2014/03/02 职场文书
商务日语专业毕业生自荐信
2014/03/27 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
2016党员干部廉洁自律心得体会
2016/01/13 职场文书