python3 flask连接数据库
时间: 2025-01-04 12:21:04 浏览: 9
### 使用Python3和Flask框架连接数据库
为了实现Python3与Flask框架之间的数据库交互,通常会采用SQLAlchemy作为对象关系映射(ORM)工具来简化操作。下面是一个简单的例子展示如何设置并使用SQLite数据库。
#### 安装必要的库
首先安装`flask-sqlalchemy`包,这可以通过pip完成:
```bash
pip install flask_sqlalchemy
```
#### 配置应用实例
接着,在创建Flask应用程序时指定数据库URI:
```python
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
# 设置数据库路径为sqlite:///example.db
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db'
db = SQLAlchemy(app)
```
此部分代码初始化了一个新的Flask程序,并通过配置项指定了要使用的数据库位置以及类型[^1]。
#### 创建模型类
定义数据表结构的一种方式就是编写相应的模型类。这里给出一个简单的产品(Product)实体的例子:
```python
class Product(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
def __repr__(self):
return '<Product %r>' % self.name
```
这段脚本描述了一张存储产品名称及其唯一ID的数据表。每当向该表插入新记录时,都会自动分配一个新的整数键值给每一行[^2]。
#### 初始化数据库
首次运行项目之前需执行如下命令以建立实际的物理文件及内部表格架构:
```python
with app.app_context():
db.create_all()
```
上述语句确保了所有已声明但尚未存在于磁盘上的模式都被正确地构建出来[^3]。
#### CRUD操作示例
最后来看一些基本的操作方法,比如添加新产品到库存列表里去:
```python
@app.route('/add_product/<string:name>')
def add_product(name=None):
if not name:
return "No product specified", 400
new_product = Product(name=name)
db.session.add(new_product)
db.session.commit()
return f'Added {new_product}', 201
```
以上函数接收URL参数中的商品名字符串,并将其保存至持久化层内;成功后返回HTTP状态码201表示资源已被创建。
阅读全文