flask mongo 分页
时间: 2023-12-07 07:36:34 浏览: 44
Flask和MongoDB结合使用进行分页的步骤如下:
1. 在Flask中安装pymongo库,用于连接MongoDB数据库。
2. 在Flask中定义路由,用于接收前端传来的分页参数。
3. 在路由中使用pymongo库连接MongoDB数据库,并使用skip()和limit()方法实现分页查询。
4. 将查询结果传递给前端页面进行展示。
具体实现代码如下(假设每页显示10条数据):
```python
from flask import Flask, render_template, request
from pymongo import MongoClient
app = Flask(__name__)
# 连接MongoDB数据库
client = MongoClient('mongodb://localhost:27017/')
db = client['test']
collection = db['data']
@app.route('/page')
def page():
# 获取前端传来的页码参数
page = int(request.args.get('page', 1))
# 计算跳过的数据量
skip = (page - 1) * 10
# 查询数据
data = collection.find().skip(skip).limit(10)
# 计算总页数
total = collection.count() // 10 + 1
# 渲染模板并传递数据
return render_template('page.html', data=data, total=total, current=page)
if __name__ == '__main__':
app.run()
```
在前端页面中,需要使用类似以下的代码实现分页:
```html
{% for item in data %}
<div>{{ item }}</div>
{% endfor %}
{% for i in range(1, total+1) %}
{% if i == current %}
<span>{{ i }}</span>
{% else %}
<a href="/page?page={{ i }}">{{ i }}</a>
{% endif %}
{% endfor %}
```