FastAPI 异步 SQLAlchemy 项目教程

FastAPI 异步 SQLAlchemy 项目教程

fastapi-async-sqlalchemyFastAPI Async SQLAlchemy middleware项目地址:https://gitcode.com/gh_mirrors/fa/fastapi-async-sqlalchemy

项目目录结构及介绍

fastapi-async-sqlalchemy/
├── alembic/
│   ├── versions/
│   │   └── ...
│   ├── env.py
│   ├── script.py.mako
├── app/
│   ├── api/
│   │   ├── endpoints/
│   │   │   └── ...
│   │   └── api.py
│   ├── core/
│   │   ├── config.py
│   │   └── security.py
│   ├── db/
│   │   ├── base.py
│   │   ├── base_class.py
│   │   ├── init_db.py
│   │   └── session.py
│   ├── models/
│   │   └── ...
│   ├── schemas/
│   │   └── ...
│   └── main.py
├── tests/
│   └── ...
├── .env
├── .gitignore
├── alembic.ini
├── Dockerfile
├── README.md
├── requirements.txt
└── setup.py

目录结构说明

  • alembic/: 数据库迁移脚本目录。
    • versions/: 包含具体的迁移脚本。
    • env.py: Alembic 环境配置文件。
    • script.py.mako: Alembic 脚本模板。
  • app/: 应用的主要代码目录。
    • api/: API 相关代码。
      • endpoints/: 具体的 API 端点。
      • api.py: API 路由配置。
    • core/: 核心配置和安全相关代码。
      • config.py: 应用配置文件。
      • security.py: 安全相关配置。
    • db/: 数据库相关代码。
      • base.py: 数据库模型基类。
      • base_class.py: 数据库模型基类。
      • init_db.py: 数据库初始化脚本。
      • session.py: 数据库会话管理。
    • models/: 数据库模型。
    • schemas/: Pydantic 模型。
    • main.py: 应用入口文件。
  • tests/: 测试代码目录。
  • .env: 环境变量配置文件。
  • .gitignore: Git 忽略文件配置。
  • alembic.ini: Alembic 配置文件。
  • Dockerfile: Docker 配置文件。
  • README.md: 项目说明文档。
  • requirements.txt: 依赖包列表。
  • setup.py: 项目安装脚本。

项目的启动文件介绍

app/main.py

from fastapi import FastAPI
from app.api.api import api_router
from app.core.config import settings
from app.db.init_db import init_db

app = FastAPI(title=settings.PROJECT_NAME, openapi_url=f"{settings.API_V1_STR}/openapi.json")

@app.on_event("startup")
async def startup_event():
    await init_db()

app.include_router(api_router, prefix=settings.API_V1_STR)

启动文件说明

  • FastAPI 实例化: 创建 FastAPI 应用实例,并设置项目名称和 OpenAPI URL。
  • 启动事件: 在应用启动时执行数据库初始化脚本。
  • 路由包含: 将 API 路由包含到应用中。

项目的配置文件介绍

app/core/config.py

from pydantic import BaseSettings

class Settings(BaseSettings):
    PROJECT_NAME: str = "FastAPI Async SQLAlchemy"
    API_V1_STR: str = "/api/v1"
    SQLALCHEMY_DATABASE_URI: str = "sqlite+aiosqlite:///./test.db"

settings = Settings()

配置文件说明

  • BaseSettings: 使用 Pydantic 的 BaseSettings 类来管理配置。
  • PROJECT_NAME: 项目名称。
  • API_V1_STR: API 版本路径。
  • SQLALCHEMY_DATABASE_URI: 数据库连接 URI。

fastapi-async-sqlalchemyFastAPI Async SQLAlchemy middleware项目地址:https://gitcode.com/gh_mirrors/fa/fastapi-async-sqlalchemy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮奕清Primavera

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值