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二分法实现实例
Nov 21 Python
Python实现批量转换文件编码的方法
Jul 28 Python
Python线性方程组求解运算示例
Jan 17 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 Python
pygame游戏之旅 添加游戏界面按键图形
Nov 20 Python
使用python3构建文件传输的方法
Feb 13 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
Sep 30 Python
Python异常继承关系和自定义异常实现代码实例
Feb 20 Python
spyder 在控制台(console)执行python文件,debug python程序方式
Apr 20 Python
python中return不返回值的问题解析
Jul 22 Python
Python 操作 MySQL数据库
Sep 18 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
Oct 21 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针对JSON操作实例分析
2015/01/12 PHP
php自定义时间转换函数示例
2016/12/07 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
用jquery ajax获取网站Alexa排名的代码
2009/12/12 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
深入理解JavaScript系列(6) 强大的原型和原型链
2012/01/15 Javascript
js判断页面中是否有指定控件的简单实例
2014/03/04 Javascript
简单实现的JQuery文本框水印插件
2016/06/14 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
利用C/C++编写node.js原生模块的方法教程
2017/07/07 Javascript
基于jQuery Easyui实现登陆框界面
2017/07/10 jQuery
Easyui Datagrid自定义按钮列(最后面的操作列)
2017/07/13 Javascript
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
jQuery插件jsonview展示json数据
2018/05/26 jQuery
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
Puppet的一些技巧
2018/09/17 Javascript
JS开发常用工具函数(小结)
2019/07/04 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
微信小程序实现一个简单swiper代码实例
2019/12/30 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
Python爬虫模拟登录带验证码网站
2016/01/22 Python
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
Python 登录网站详解及实例
2017/04/11 Python
详解python3中zipfile模块用法
2018/06/18 Python
python网络编程 使用UDP、TCP协议收发信息详解
2019/08/29 Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
2020/02/18 Python
七年级生物教学反思
2014/01/30 职场文书
工商企业管理专业自荐信范文
2014/04/12 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
停课通知书
2015/04/24 职场文书
公务员爱岗敬业心得体会
2016/01/25 职场文书
德劲DE1102数字调谐收音机机评
2022/04/07 无线电