pagination 函数
时间: 2023-10-18 12:24:03 浏览: 30
pagination 函数用于分页,将大量的数据分为多个页面显示,以便用户能够浏览和查看数据。通常情况下,pagination 函数需要接收以下参数:
- `data`:待分页的数据列表。
- `page_size`:每页显示的数据条数。
- `current_page`:当前所在的页数。
- `total_count`:数据总数。
- `url`:分页链接的基础 URL。
下面是一个示例的 pagination 函数实现:
```python
def pagination(data, page_size, current_page, total_count, url):
# 计算总页数
total_page = math.ceil(total_count / page_size)
# 计算当前页的起始位置和结束位置
start = (current_page - 1) * page_size
end = start + page_size
# 截取数据列表,获取当前页的数据
current_data = data[start:end]
# 构造分页链接
page_links = []
for i in range(1, total_page + 1):
link = url + f"?page={i}"
page_links.append(link)
# 构造分页信息字典
pagination_info = {
"data": current_data,
"current_page": current_page,
"total_count": total_count,
"total_page": total_page,
"page_links": page_links,
}
return pagination_info
```
使用示例:
```python
data = [i for i in range(1, 101)]
page_size = 10
current_page = 1
total_count = len(data)
url = "/data"
pagination_info = pagination(data, page_size, current_page, total_count, url)
print(pagination_info)
```
输出结果:
```python
{
"data": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
"current_page": 1,
"total_count": 100,
"total_page": 10,
"page_links": ['/data?page=1', '/data?page=2', '/data?page=3', '/data?page=4', '/data?page=5', '/data?page=6', '/data?page=7', '/data?page=8', '/data?page=9', '/data?page=10']
}
```