当前位置: 首页 > article >正文

FastAPI 目录结构推荐

环境:openEuler、Windows 11、WSL 2、python 3.12.3、FastAPI

背景:初学FastAPI,对于其框架结构不熟悉,记录

时间:20241031

说明:使用 FastAPI 搭建项目时,合理的目录结构可以帮助你更好地组织代码,使其更易于维护和扩展。

框架结构

my_fastapi_project/
├── app/
│   ├── __init__.py
│   ├── main.py
│   ├── config.py
│   ├── dependencies.py
│   ├── models/
│   │   ├── __init__.py
│   │   ├── user.py
│   │   ├── item.py
│   │   └── ...
│   ├── schemas/
│   │   ├── __init__.py
│   │   ├── user.py
│   │   ├── item.py
│   │   └── ...
│   ├── crud/
│   │   ├── __init__.py
│   │   ├── user.py
│   │   ├── item.py
│   │   └── ...
│   ├── services/
│   │   ├── __init__.py
│   │   ├── email.py
│   │   ├── authentication.py
│   │   └── ...
│   ├── routers/
│   │   ├── __init__.py
│   │   ├── users.py
│   │   ├── items.py
│   │   └── ...
│   ├── utils/
│   │   ├── __init__.py
│   │   ├── helpers.py
│   │   ├── validators.py
│   │   └── ...
│   ├── tests/
│   │   ├── __init__.py
│   │   ├── test_users.py
│   │   ├── test_items.py
│   │   └── ...
│   └── static/
│       ├── css/
│       ├── js/
│       ├── images/
│       └── ...
├── migrations/
│   ├── alembic.ini
│   ├── env.py
│   ├── script.py.mako
│   └── versions/
├── .env
├── requirements.txt
├── Dockerfile
└── README.md

目录说明

app/:
项目的主目录。
__init__.py: 使 app 成为一个 Python 包。
main.py: 项目的入口点,包含 FastAPI 应用实例和路由注册。
config.py: 配置文件,用于存储环境变量、数据库连接等配置。
dependencies.py: 依赖注入相关的函数或类。
models/:
存放数据库模型定义。
user.py, item.py: 具体的模型文件。
schemas/:
存放 Pydantic 模型(数据验证和序列化)。
user.py, item.py: 具体的数据模式文件。
crud/:
存放 CRUD (Create, Read, Update, Delete) 操作。
user.py, item.py: 具体的 CRUD 文件。
services/:
存放业务逻辑相关的服务。
email.py, authentication.py: 具体的服务文件。
routers/:
存放 API 路由。
users.py, items.py: 具体的路由文件。
utils/:
存放辅助函数和工具类。
helpers.py, validators.py: 具体的工具文件。
tests/:
存放测试代码。
test_users.py, test_items.py: 具体的测试文件。
static/:
存放静态文件,如 CSS、JavaScript 和图片。
migrations/:
存放 Alembic 迁移文件,用于数据库版本控制。
alembic.ini: Alembic 配置文件。
env.py: Alembic 环境脚本。
script.py.mako: Alembic 脚本模板。
versions/: 存放具体的迁移脚本。
.env:
存放环境变量。
requirements.txt:
项目依赖列表。
Dockerfile:
Docker 容器构建文件。
README.md:
项目文档。


http://www.kler.cn/a/380609.html

相关文章:

  • tcp 的重传,流量控制,拥塞控制
  • Mybatis分页插件的使用问题记录
  • UML图【重要】
  • 软件设计与体系结构
  • Retrofit源码分析:动态代理获取Api接口实例,解析注解生成request,线程切换
  • 重拾设计模式--备忘录模式
  • 了解神经网络中的激活函数
  • 【VSCode / Source Insight 4】设置关键字高亮的插件 | Highlight Word
  • AutoCAD2019
  • C++现代教程七之模块
  • uni-app在H5页面唤起小程序登录 然后再回到当前页面
  • 算法简介:动态规划
  • (十一)JavaWeb后端开发——分层解耦
  • 基于SSD模型的行人跌倒、摔倒检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】
  • 【Redis】一种常见的Redis分布式锁原理简述
  • 如何无缝更换WordPress主题:关键步骤详解
  • 微服务透传日志traceId
  • 【设计模式系列】原型模式(十一)
  • HarmonyOS NEXT应用元服务开发组合场景
  • 运维工具之docker入门
  • Win10搭建SFTP服务器
  • 系统缺失msvcp140_1.dll?解决msvcp140_1.dll缺失问题,
  • AiPPT - 全智能 AI 一键生成 PPT
  • 鸿蒙ArkTS中的面向对象编程
  • Scala的包及其导入
  • 三十一、Python基础语法(多态)