简介:Flask Python数据库 Flask写入数据库
Flask Python数据库 Flask写入数据库
在Python开发中,Flask框架和数据库的结合使用是非常常见的。Flask提供了一个轻量级的Web应用框架,而数据库则为应用程序提供了持久化的数据存储。本文将重点介绍如何在Flask应用中使用Python数据库,并实现数据的写入操作。
一、Flask与Python数据库
Flask本身并不包含数据库功能,但它可以与各种数据库进行集成。Python中常用的数据库有MySQL、PostgreSQL、SQLite等。选择哪种数据库取决于具体的应用需求和环境。
在Flask应用中,我们通常使用ORM(对象关系映射)库来简化数据库操作。Python中流行的ORM库有SQLAlchemy和Peewee。这些库将数据库表映射为Python类,并提供了一组丰富的API来操作数据库。
二、Flask写入数据库
下面是一个简单的示例,演示如何在Flask应用中使用SQLite数据库,并实现数据的写入操作:
pip install flask sqlalchemy
app.py的文件,并引入必要的模块:
from flask import Flask, request, jsonifyfrom flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db' # 使用SQLite数据库db = SQLAlchemy(app)
class User(db.Model):id = db.Column(db.Integer, primary_key=True)name = db.Column(db.String(50), nullable=False)email = db.Column(db.String(120), unique=True, nullable=False)
@app.before_first_requestdef create_tables():db.create_all()
这个接口通过HTTP POST请求接收包含用户数据的JSON数据,然后创建一个User对象,并将其添加到数据库会话中。最后,通过调用
@app.route('/users', methods=['POST'])def create_user():data = request.get_json() # 获取请求体中的JSON数据user = User(name=data['name'], email=data['email']) # 创建User对象并设置属性值db.session.add(user) # 将User对象添加到会话中,准备进行持久化操作db.session.commit() # 提交会话,将数据写入数据库表return jsonify({'message': 'User created successfully.'}), 201 # 返回成功消息和HTTP状态码201(表示已创建资源)
db.session.commit()方法将数据写入数据库表。成功后,返回一个成功的消息和HTTP状态码201。现在,你的Flask应用已经能够通过HTTP接口将数据写入SQLite数据库了。你可以使用POST请求将JSON数据发送到
flask run
/users端点,以创建新的用户记录。