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脚本实现统计日志文件中的ip访问次数代码分享
Aug 06 Python
Python基于pygame实现的font游戏字体(附源码)
Nov 11 Python
python matplotlib坐标轴设置的方法
Dec 05 Python
python实现自动发送报警监控邮件
Jun 21 Python
django中使用事务及接入支付宝支付功能
Sep 15 Python
浅谈Python程序的错误:变量未定义
Jun 02 Python
Python分析最近大火的网剧《隐秘的角落》
Jul 02 Python
Python基于locals返回作用域字典
Oct 17 Python
python定义具名元组实例操作
Feb 28 Python
Python scrapy爬取起点中文网小说榜单
Jun 13 Python
python3操作redis实现List列表实例
Aug 04 Python
python利用while求100内的整数和方式
Nov 07 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与SQL注入攻击[一]
2007/04/17 PHP
php的curl实现get和post的代码
2008/08/23 PHP
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
2010/03/09 Javascript
JS模块与命名空间的介绍
2013/03/22 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
利用js实现在浏览器状态栏显示访问者在本页停留的时间
2013/12/29 Javascript
jQuery实现带动画效果的多级下拉菜单代码
2015/09/08 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
18个非常棒的jQuery代码片段
2015/11/02 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
2016/05/04 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
2017/10/16 Javascript
详解webpack模块化管理和打包工具
2018/04/21 Javascript
Vue 获取数组键名的方法
2018/06/21 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
2018/12/24 Javascript
js前端如何写一个精确的倒计时代码
2019/10/25 Javascript
微信小程序自定义扫码功能界面的实现代码
2020/07/02 Javascript
[31:01]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS Orenda
2014/05/23 DOTA
Python下使用Scrapy爬取网页内容的实例
2018/05/21 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
2018/07/09 Python
pycharm 解除默认unittest模式的方法
2018/11/30 Python
从运行效率与开发效率比较Python和C++
2018/12/14 Python
Django之模板层的实现代码
2019/09/09 Python
Python中过滤字符串列表的方法
2020/12/22 Python
需要知道的CSS3动画技术
2010/01/01 HTML / CSS
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
初中音乐教学反思
2014/01/12 职场文书
奥巴马开学演讲稿
2014/05/15 职场文书
英语辞职信怎么写
2015/02/28 职场文书
Python中常见的导入方式总结
2021/05/06 Python
Python Matplotlib库实现画局部图
2021/11/17 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python
mysql序号rownum行号实现方式
2022/12/24 MySQL