flask_sqlalchemy将查询到的数据以JSON格式传到前端
时间: 2024-02-25 18:58:47 浏览: 93
在Flask中使用Flask-SQLAlchemy扩展,可以通过查询数据库并将结果转换为JSON格式,然后将其传递到前端。下面是一个简单的示例:
```python
from flask import Flask, jsonify
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
email = db.Column(db.String(50))
@app.route('/users')
def get_users():
users = User.query.all()
return jsonify({'users': [user.to_dict() for user in users]})
if __name__ == '__main__':
app.run(debug=True)
```
在上面的示例中,我们首先定义了一个User模型,并将其映射到数据库中的users表。然后,我们定义了一个名为get_users的路由函数,该函数查询所有用户并将其转换为JSON格式。在这个函数中,我们使用了Flask的jsonify函数,将查询结果转换为JSON格式并返回给前端。注意,我们还定义了一个to_dict方法,该方法将User对象转换为字典格式,以便能够进行JSON序列化。
在前端页面中,可以使用JavaScript来获取JSON数据并进行处理,例如:
```javascript
fetch('/users')
.then(response => response.json())
.then(data => console.log(data.users))
```
在上面的示例中,我们使用fetch函数从服务器获取JSON数据,并使用JavaScript的JSON解析器将其转换为JavaScript对象。然后,我们可以对这些数据进行处理和显示。
阅读全文