关于python-web开发中分页的处理
来源:互联网 发布:js闪动文字 编辑:程序博客网 时间:2024/05/24 04:20
本案例基于tornado基础上
一、分页的效果
二、封装一个分页的方法
#!/usr/bin/env python# encoding: utf-8""" 定义一个分页的方法 current_page:表示当前页面 countent:查询出来全部的数据 MAX_PAGE:表示一页显示多少,一般定义在一个常量的文件中"""def get_page_list(current_page, countent, MAX_PAGE): start = (current_page - 1) * MAX_PAGE end = start + MAX_PAGE # 进行切片操作 split_countent = countent[start:end] # 计算总共多少页 count = len(countent) / MAX_PAGE if len(countent) % MAX_PAGE != 0: count += 1 # 上一页 pre_page = current_page - 1 # 下一页 next_page = current_page + 1 # 边界点的判断 if pre_page == 0: pre_page = 1 if next_page > count: next_page = current_page # 进行分页处理,把当前显示的全部页码返回到前端,前端直接遍历就可以 if count < 5: pages = [p for p in xrange[1, count + 1]] elif current_page <= 3: pages = [p for p in xrange(1, 6)] elif current_page >= count - 2: pages = [p for p in xrange(count - 4, count + 1)] else: pages = [p for p in xrange(current_page - 2, current_page + 3)] return { 'split_countent': split_countent, # 当前显示的 'count': count, # 总共可以分多少页 'pre_page': pre_page, # 上一页 'next_page': next_page, # 下一页 'current_page': current_page, # 当前页 'pages': pages # 全部的页面吗 }
三、调用分页方法
def get(self, page): files = Files.display_file_list(); # 这个get_page_list函数中返回是一个对象,files_page["split_countent"]表示取当前显示的内容 files_page = get_page_list(int(page), files, MAX_PAGE) self.render("admin/main/file_list.html", files=files_page["split_countent"], files_page=files_page)
四、点击确认跳转到分页
class ToPage(BaseHandler): def post(self): page = self.get_argument("page",''); files = Files.display_file_list(); # 这个get_page_list函数中返回是一个对象,files_page["split_countent"]表示取当前显示的内容 files_page = get_page_list(int(page), files, MAX_PAGE) self.render("admin/main/file_list.html", files=files_page["split_countent"], files_page=files_page)
五、前端页面
<div class="row"> <ul class="pagination pagination-sm" style="width: 340px;float: left" id="page-num"> <li><a href="/admin/selfInfo/{{ files_page['pre_page'] }}">«</a></li> {% if files_page['current_page'] != 1 %} <li><a href="/admin/selfInfo/1">首页</a></li> {% end %} {% for index in files_page['pages']%} <li {% if index ==files_page['current_page'] %} class="active" {% end %} > <a href="/admin/selfInfo/{{ index }}">{{ index }}</a> </li> {% end %} {% if files_page['current_page'] != files_page['count']%} <li><a href="/admin/selfInfo/{{ files_page['count'] }}">尾页</a></li> {% end %} <li><a href="/admin/selfInfo/{{ files_page['next_page'] }}">»</a></li> </ul> <p style="float: left;margin: 26px 0;">共{{files_page['count']}}页 | 第 {{files_page['current_page']}} 页</p> <div style="float:left;margin-top: 26px;margin-left: 10px;"> <span style="display: block;float: left;">跳转至:</span> <form style="float: right;margin-top: -2px;margin-left: 10px;" action="/topage" method="post"> <input type="text" style="width: 40px;text-align: center" name="page"/> <input type="submit" value="确认" /> </form> </div></div>
阅读全文
0 0
- 关于python-web开发中分页的处理
- 关于diango--python的web开发
- Web开发中特殊字符的处理
- web开发中合计信息的处理
- Web开发中关于servlet产生HTTP Status 404 - /webMVC/servlet/MyReturnMessage.jsp的处理
- python中关于时间的处理
- python中关于时间变量的处理
- 关于Python中interval的处理
- Python中关于时间处理的方法
- 关于python开发web中插入本地图像和链接本地的html文件的方法
- Web开发中关于缓存的使用
- python的web 开发基础之url处理
- 关于Python的WEB开发框架的介绍
- 关于的python+web开发的调试工具
- python的web开发
- 关于web中注销、退出、登出后回退的处理
- 关于CodeIgniter 搜索分页问题的处理
- 关于python-web框架中Django Ajax的总结
- 静态锁和非静态锁
- CUDA编程(九)并行矩阵乘法
- ionic 环境搭建之marc
- 说说JSON和JSONP,也许你会豁然开朗,含jQuery用例
- bugku ctf Reverse 逆向入门 writeup
- 关于python-web开发中分页的处理
- okhttp实战使用详解
- Android-scrollview嵌套listview、webview、gridview不置顶问题
- 关于使用ueditor的小积累
- python3发送smtp邮件
- caffe的简单python脚本
- 自定义ImageView点击实现两张图片切换
- 使用redis文件服务器完成图片下载显示
- 一次sqlserver变慢优化过程