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实现二维数组按照某行或列排序的方法【numpy lexsort】
Sep 22 Python
python利用rsa库做公钥解密的方法教程
Dec 10 Python
用python实现刷点击率的示例代码
Feb 21 Python
python分割一个文本为多个文本的方法
Jul 22 Python
django多文件上传,form提交,多对多外键保存的实例
Aug 06 Python
python多线程使用方法实例详解
Dec 30 Python
Python 动态变量名定义与调用方法
Feb 09 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
Mar 30 Python
Python requests模块session代码实例
Apr 14 Python
Python实现自动签到脚本的示例代码
Aug 19 Python
python使用selenium爬虫知乎的方法示例
Oct 28 Python
Python实现GIF动图以及视频卡通化详解
Dec 06 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
php4的彩蛋
2006/10/09 PHP
PHP中动态显示签名和ip原理
2007/03/28 PHP
PHP排序算法的复习和总结
2012/02/15 PHP
php调整gif动画图片尺寸示例代码分享
2013/12/05 PHP
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
2014/01/30 PHP
PHP实现的英文名字全拼随机排号脚本
2014/07/04 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
在Z-Blog中运行代码[html][/html](纯JS版)
2007/03/25 Javascript
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
js读写cookie实现一个底部广告浮层效果的两种方法
2013/12/29 Javascript
深入浅析JavaScript中的作用域和上下文
2016/03/26 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
基于js中的原型(全面讲解)
2017/09/19 Javascript
浅谈vue-router 路由传参的方法
2017/12/27 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
2018/12/11 Javascript
vue 项目接口管理的实现
2019/01/17 Javascript
webpack中如何加载静态文件的方法步骤
2019/05/18 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
easyUI 实现的后台分页与前台显示功能示例
2020/06/01 Javascript
原生js生成图片验证码
2020/10/11 Javascript
python实现连接mongodb的方法
2015/05/08 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
Python pyinotify模块实现对文档的实时监控功能方法
2018/10/13 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
Python如何设置指定窗口为前台活动窗口
2020/08/12 Python
探索HTML5本地存储功能运用技巧
2016/03/02 HTML / CSS
Weblogic和WebSphere不同特点
2012/05/09 面试题
食品厂厂长岗位职责
2014/01/30 职场文书
工作骂脏话检讨书
2014/10/05 职场文书
Django+Celery实现定时任务的示例
2021/06/23 Python
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS