写个flask代码实现postgres数据接口
时间: 2023-03-24 08:01:47 浏览: 91
flask-postgresql
好的,以下是一个使用Flask实现PostgreSQL数据接口的示例代码:
```python
from flask import Flask, jsonify, request
import psycopg2
app = Flask(__name__)
# Postgres数据库连接参数
params = {
'dbname': 'your_database_name',
'user': 'your_database_user',
'password': 'your_database_password',
'host': 'your_database_host',
'port': 'your_database_port'
}
# 定义路由
@app.route('/users', methods=['GET'])
def get_users():
# 连接数据库
conn = psycopg2.connect(**params)
cur = conn.cursor()
# 查询所有用户
cur.execute('SELECT * FROM users;')
rows = cur.fetchall()
# 关闭数据库连接
cur.close()
conn.close()
# 将查询结果转换为JSON格式并返回
users = []
for row in rows:
user = {
'id': row[0],
'name': row[1],
'email': row[2]
}
users.append(user)
return jsonify({'users': users})
@app.route('/users', methods=['POST'])
def create_user():
# 获取请求中的JSON数据
data = request.get_json()
# 连接数据库
conn = psycopg2.connect(**params)
cur = conn.cursor()
# 插入新用户
cur.execute('INSERT INTO users (name, email) VALUES (%s, %s);', (data['name'], data['email']))
conn.commit()
# 关闭数据库连接
cur.close()
conn.close()
return jsonify({'message': 'User created successfully.'})
# 运行Flask应用程序
if __name__ == '__main__':
app.run()
```
上述代码中,我们使用了psycopg2模块来连接PostgreSQL数据库,并定义了两个路由:`/users`和`/users`(分别用于获取用户列表和创建新用户)。在`get_users`函数中,我们使用`SELECT`语句查询所有用户,并将结果转换为JSON格式返回。在`create_user`函数中,我们从请求中获取JSON数据,并使用`INSERT`语句将新用户插入数据库中。
需要注意的是,上述代码中的数据库连接参数需要替换为您自己的PostgreSQL数据库连接参数。另外,需要在运行代码之前先安装Flask和psycopg2模块。
阅读全文