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实现国外赌场热门游戏Craps(双骰子)
Mar 31 Python
利用python生成一个导出数据库的bat脚本文件的方法
Dec 30 Python
python中日志logging模块的性能及多进程详解
Jul 18 Python
快速了解python leveldb
Jan 18 Python
python调用百度语音REST API
Aug 30 Python
对python3 中方法各种参数和返回值详解
Dec 15 Python
python3 pygame实现接小球游戏
May 14 Python
代码实例讲解python3的编码问题
Jul 08 Python
Python基于pip实现离线打包过程详解
May 15 Python
Python函数参数分类原理详解
May 28 Python
Virtualenv 搭建 Py项目运行环境的教程详解
Jun 22 Python
python反扒机制的5种解决方法
Feb 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
最令PHP初学者头痛的十四个问题
2006/07/12 PHP
第六章 php目录与文件操作
2011/12/30 PHP
有关PHP中MVC的开发经验分享
2012/05/17 PHP
php安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
php之XML转数组函数的详解
2013/06/07 PHP
php实现的一个很好用HTML解析器类可用于采集数据
2013/09/23 PHP
php根据操作系统转换文件名大小写的方法
2014/02/24 PHP
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
javascript标签在页面中的位置探讨
2013/04/11 Javascript
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
Asp.Net alert弹出提示信息的几种方法总结
2014/01/29 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
JavaScript正则表达式实例详解
2016/10/16 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
详解react如何在组件中获取路由参数
2017/06/15 Javascript
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
2017/07/13 Javascript
Vue 进阶之路(三)
2019/04/18 Javascript
element-ui 中使用upload多文件上传只请求一次接口
2019/07/19 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
Vue Router的手写实现方法实现
2020/03/02 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
pytorch构建网络模型的4种方法
2018/04/13 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
Sony C++笔试题
2013/03/10 面试题
军训教官感言
2014/03/02 职场文书
保证书范文大全
2014/04/28 职场文书
关于读书的演讲稿
2014/05/07 职场文书
优秀教师个人材料
2014/12/15 职场文书
项目安全员岗位职责
2015/02/15 职场文书
MyBatis XPathParser解析器使用范例详解
2022/07/15 Java/Android