python Django框架实现web端分页呈现数据


Posted in Python onOctober 31, 2019

这里介绍使用python-Django框架来实现web端分页呈现数据,主要说明对应的views,urls,templates三个文件的编程逻辑的实现。

首先介绍Django中的paginator类。paginator是Django中提供的可以实现管理数据分页的类。

from django.core import paginator

下面是本文用到的paginator中的属性和方法。

Paginator对象

1. 构造:Paginator(列表,int):返回分页的整体对象。
2. page_range:返回页码列表 [1,2,3,4…]
3. page(num):返回num页的数据内容

Page对象

1. 构造:Paginator对象的page()方法返回Page对象。
2. number:返回当前页的序号。
3. paginator:当前page对象相关的Paginator对象。page.paginator相当于Paginator对象。

A. 构造url。

#---urls.py------
from django.conf.urls import url
import views
urlpatterns = [
 # 这个url构造在根目录下
 # 定义为'info/数字'是为了传一个页面序号为参数给视图函数
 # 视图函数接收到这个数字为参数后,就可以调用对应页的数据呈现
 # 例如我们输入www.xxx.com/info/3,视图函数就会接收到(request,3)两个参数
 url(r'^info/(\d*)$',views.info),
]
#---------

B. 编写视图函数的逻辑。

#---views.py---
from django.shortcuts import render
# 这里的lcoation是定义的模型类,包含有若干条地名数据
from models import location
from django.core import paginator

# 视图函数
# 同样,index是url传进来的页面序号
def info(request,index):
 # 获取所有的的数据,list是一个列表,包含有所有数据对应的实例对象
 list = location.objects.all()
 # 使用Paginator方法返回一个分页的对象
 # 这个对象包括所有数据,分页的情况
 pag = paginator.Paginator(list,3)
 # 使用此判断语句是为了在用户跳转www.xxx.com/info/时也能访问第一页
 if index=='':
  index=1
 # 返回指定(index)页的数据,用于呈现在指定页上
 page = pag.page(index)
 # 构造上下文,以便html文件中能调用对应页的数据
 context = {
  'page':page,
 }
 return render(request,'booktest/info.html',context)
#---------

C. 模板文件。

#---info.html------
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
<ul>
 # 视图函数传进来的上下文page是指定页的数据
 {% for each in page %}
 # 遍历显示每条数据
 <li>{{ each.location_name }}</li>
 {% endfor %}
</ul>
<hr>
 # 这里是重点
 # 同样还是需要调用视图函数传进来的page页的页码
 # page.paginator得到page的paginator对象
 # page.pageinator.page_range page_range可以返回页面列表[1,2,3,4...]
 # 遍历页面列表
 {% for index in page.paginator.page_range %}
  # page.number是视图函数现在呈现页的页码
  # 这个页码不需要做超链接
  {% if index == page.number %}
  <span>{{ index }}</span>
  {% else %}
  # 生成每页超链接
  # 点击每一个数字对应的链接就是'/info/点击的页数'
  # 这样在url解析的时候,又可以把这一页的编号传给视图函数
  # 视图函数根据这个页码呈现对应的内容
   <a href="/info/{{index}}" rel="external nofollow" >{{ index }}</a>
  {% endif %}
 {% endfor %}

</body>
</html>
#---------

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python模拟登录百度贴吧(百度贴吧登录)实例
Dec 18 Python
Django学习笔记之Class-Based-View
Feb 15 Python
Python中表达式x += y和x = x+y 的区别详解
Jun 20 Python
python中的for循环
Sep 28 Python
Python 类的私有属性和私有方法实例分析
Sep 29 Python
解决pycharm最左侧Tool Buttons显示不全的问题
Dec 17 Python
python垃圾回收机制(GC)原理解析
Dec 30 Python
浅谈keras的深度模型训练过程及结果记录方式
Jan 24 Python
详解Python中的分支和循环结构
Feb 11 Python
python isinstance函数用法详解
Feb 13 Python
Pytorch mask_select 函数的用法详解
Feb 18 Python
Django xadmin安装及使用详解
Oct 26 Python
python3常用的数据清洗方法(小结)
Oct 31 #Python
Django实现网页分页功能
Oct 31 #Python
8段用于数据清洗Python代码(小结)
Oct 31 #Python
利用Python绘制有趣的万圣节南瓜怪效果
Oct 31 #Python
python实现大量图片重命名
Mar 23 #Python
python3图片文件批量重命名处理
Oct 31 #Python
Django1.11自带分页器paginator的使用方法
Oct 31 #Python
You might like
功能齐全的PHP发送邮件类代码附详细说明
2008/07/10 PHP
PHP实现取得HTTP请求的原文
2014/08/18 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
2015/01/22 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
jQuery 技巧大全(新手入门篇)
2009/05/12 Javascript
javascript倒计时功能实现代码
2012/06/07 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
2014/01/02 Javascript
使用phantomjs进行网页抓取的实现代码
2014/09/29 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
2015/03/04 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
js判断手机浏览器操作系统和微信浏览器的方法
2016/04/30 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
2016/08/05 Javascript
JS键盘版计算器的制作方法
2016/12/03 Javascript
jquery根据name取得select选中的值实例(超简单)
2018/01/25 jQuery
linux 后台运行node服务指令方法
2018/05/23 Javascript
微信小程序支付PHP代码
2018/08/23 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
2020/03/12 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
2020/09/01 Javascript
Python图形绘制操作之正弦曲线实现方法分析
2017/12/25 Python
解决Django layui {{}}冲突的问题
2019/08/29 Python
python多线程实现TCP服务端
2019/09/03 Python
python实现一个猜拳游戏
2020/04/05 Python
HTML5获取当前地理位置并在百度地图上展示的实例
2020/07/10 HTML / CSS
学校食堂采购员岗位职责
2013/12/05 职场文书
优秀民警事迹材料
2014/01/29 职场文书
小学英语教学反思案例
2014/02/04 职场文书
索桥的故事教学反思
2014/02/06 职场文书
党员公开承诺事项
2014/03/25 职场文书
大一新生学期自我评价
2014/04/09 职场文书
青春雷锋观后感
2015/06/10 职场文书
员工聘用合同范本
2015/09/21 职场文书
社会实践心得体会范文
2016/01/14 职场文书
七年级作文之雪景
2019/11/18 职场文书