一、分页的效果二、封装一个分页的方法本案例基于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 > <ul 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'] %} {% 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 >共{{files_page['count']}}页 | 第 {{files_page['current_page']}} 页</p> <div > <span >跳转至:</span> <form action="/topage" method="post"> <input type="text" name="page"/> <input type="submit" value="确认" /> </form> </div></div>
总结 以上是内存溢出为你收集整理的关于python-web开发中分页的处理全部内容,希望文章能够帮你解决关于python-web开发中分页的处理所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)