关于python-web开发中分页的处理

关于python-web开发中分页的处理,第1张

概述本案例基于tornado基础上一、分页的效果二、封装一个分页的方法#!/usr/bin/envpython#encoding:utf-8"""定义一个分页的方法current_page:表示当前页面countent:查询出来全部的数据MAX_PAGE:表示一页显示多少,一般定义在一个常量的文件中"""def

本案例基于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开发中分页的处理所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1183712.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存