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实现的Kmeans++算法实例
Apr 26 Python
Python导入oracle数据的方法
Jul 10 Python
详解Django中的过滤器
Jul 16 Python
Python yield 使用方法浅析
May 20 Python
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
Jun 12 Python
pandas分别写入excel的不同sheet方法
Dec 11 Python
PyCharm2019安装教程及其使用(图文教程)
Sep 29 Python
Pycharm 2020年最新激活码(亲测有效)
Sep 18 Python
Python GUI库PyQt5样式QSS子控件介绍
Feb 25 Python
解决Keras 自定义层时遇到版本的问题
Jun 16 Python
TensorFlow的环境配置与安装方法
Feb 20 Python
关于Python中进度条的六个实用技巧分享
Apr 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中的内存管理问题
2011/08/31 PHP
php安全开发 添加随机字符串验证,防止伪造跨站请求
2013/02/14 PHP
探讨捕获php错误信息方法的详解
2013/06/09 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
php中最简单的字符串匹配算法
2014/12/16 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
PHP children()函数讲解
2019/02/03 PHP
php函数式编程简单示例
2019/08/08 PHP
JavaScript 语言基础知识点总结(思维导图)
2013/11/10 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
jquery.idTabs 选项卡使用示例代码
2014/09/03 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
使用Curl命令查看请求响应时间方法
2016/11/04 Javascript
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
2017/08/16 Javascript
vue中手机号,邮箱正则验证以及60s发送验证码的实例
2018/03/16 Javascript
jsonp格式前端发送和后台接受写法的代码详解
2019/11/07 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
2020/01/04 Javascript
JQuery获得内容和属性方法解析
2020/05/30 jQuery
JS 数组和对象的深拷贝操作示例
2020/06/06 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
Python3实现购物车功能
2018/04/18 Python
Python迭代器定义与简单用法分析
2018/04/30 Python
python实现傅里叶级数展开的实现
2018/07/21 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
2018/11/23 Python
python pygame实现五子棋小游戏
2020/10/26 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
python利用线程实现多任务
2020/09/18 Python
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
加拿大健康、婴儿和美容产品在线购物:Well.ca
2016/11/30 全球购物
伦敦一家西班牙童装精品店:La Coqueta
2018/02/02 全球购物
岗位职责风险防控
2014/02/18 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书
投资申请报告
2015/05/19 职场文书
全新239军机修复记
2022/04/05 无线电
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL