码迷,mamicode.com
首页 > 其他好文 > 详细

Flask:数据分页功能设计

时间:2019-11-18 14:30:53      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:next   功能设计   超出   roman   rom   总数   mes   ret   elf   

  网站上的数据都是按页显示的,因此有个功能完善的分页器就显得很重要

class Pager:
    def __init__(self, data, page_size):
        self.data = data  # 总数据
        self.page_size = page_size  # 单页大小
        self.is_start = False
        self.is_end = False
        self.data_count = len(data)
        self.next_page = 0  # 下一页
        self.previous_page = 0  # 上一页
        self.page_num = self.data_count / page_size  # 总页数
        if self.page_num == int(self.page_num):
            self.page_num = int(self.page_num)
        else:
            self.page_num = int(self.page_num) + 1

    def page_data(self, page):
        """
        获取一页的数据
        :param page: 要返回数据的页码
        :return: 如果页码超过总页码,返回空列表,否则返回一页的数据
        """
        if page > self.page_num:
            return []
        self.next_page = page + 1
        self.previous_page = page - 1
        if page == 1:
            self.is_start = True
        elif page == self.page_num:
            self.is_end = True
        if self.is_end:
            return self.data[(page - 1) * self.page_size:]
        else:
            return self.data[(page - 1) * self.page_size:page * self.page_size]

  使用类编写一个分页器,包含以下属性:

    • self.data:用于分页的数据
    • self.page_size:一页数据的大小
    • self.is_start:该页是否为起始页
    • self.is_end:该页是否为终止页
    • self.data_count:总数据的条数
    • self.next_page:下一页的页码
    • self.previous_page:上一页的页码
    • self.page_num:总页数

  page_data()方法:用于返回一页的数据,判断页码是否超出页码范围、该页码是否为首页或尾页页码,获取该页的上一页和下一页页码,若超出页码范围,返回空列表,否则返回该页数据

Flask:数据分页功能设计

标签:next   功能设计   超出   roman   rom   总数   mes   ret   elf   

原文地址:https://www.cnblogs.com/xmcwm/p/11881855.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!