flask实现分页效果
时间: 2023-10-29 19:00:34 浏览: 54
要在Flask中实现分页效果,可以使用Flask-Paginate扩展。下面是实现分页的步骤:
1. 安装Flask-Paginate扩展:
```
pip install Flask-Paginate
```
2. 在Flask应用中导入Flask-Paginate:
```
from flask_paginate import Pagination, get_page_parameter
```
3. 在路由函数中获取数据:
```
@app.route('/')
def index():
page = request.args.get(get_page_parameter(), type=int, default=1)
per_page = 10
data = your_data_query_function()
total = len(data)
pagination_data = data[(page-1)*per_page:page*per_page]
pagination = Pagination(page=page, per_page=per_page, total=total, css_framework='bootstrap4')
return render_template('index.html', data=pagination_data, pagination=pagination)
```
4. 在模板中使用分页:
```
{% for item in data %}
<div>{{ item }}</div>
{% endfor %}
<div class="pagination">
{{ pagination.links }}
</div>
```
其中,`get_page_parameter()`函数会从请求参数中获取当前页码,`your_data_query_function()`函数应该返回需要分页的数据,`per_page`参数表示每一页显示的数据条数,`total`参数表示数据总条数,`css_framework`参数表示使用的CSS框架,这里使用的是Bootstrap 4。
在模板中,`pagination.links`会生成分页链接。