python通过fastapi和数据库进行连接
时间: 2024-10-14 11:03:20 浏览: 24
Python通过FastAPI框架与数据库进行连接通常涉及以下几个步骤:
1. **安装依赖**:首先需要安装`fastapi`、`Uvicorn`(用于服务器)以及数据库驱动,比如`SQLAlchemy`(支持多种数据库,如MySQL、PostgreSQL等)。
```bash
pip install fastapi uvicorn sqlalchemy
```
2. **配置数据库**:在`settings.py`或`config.py`文件中设置数据库连接信息,例如使用环境变量或直接写死。
```python
from sqlalchemy import create_engine
DATABASE_URL = "postgresql://user:password@localhost/dbname"
engine = create_engine(DATABASE_URL)
```
3. **创建数据模型**:定义ORM(Object-Relational Mapping)模型,这是将数据库表映射到Python类。
```python
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
username = Column(String)
```
4. **使用FastAPI**:在`main.py`或`app.py`中,初始化FastAPI应用并关联数据库。
```python
from fastapi import FastAPI
from .models import User
from .database import SessionLocal
app = FastAPI()
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
@app.get("/users/{id}")
async def read_user(id: int, db=get_db()):
user = db.query(User).filter_by(id=id).first()
return user
```
5. **运行应用**:使用`uvicorn`启动FastAPI服务。
```bash
uvicorn main:app --reload
```
阅读全文