# FastApi入门 **Repository Path**: suni1024/introduction-to-fast-api ## Basic Information - **Project Name**: FastApi入门 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-25 - **Last Updated**: 2025-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FastApi入门 #### 介绍 这是一个 FastAPI 学习项目,包含了基础的路由操作、请求处理和响应处理等内容。 #### 软件架构 该项目基于 Python FastAPI 框架构建,包含多个示例模块演示不同功能。 #### 安装教程 1. 克隆项目到本地 2. 创建虚拟环境: `python -m venv .venv` 3. 激活虚拟环境: - Windows: `.venv\Scripts\activate` - Mac/Linux: `source .venv/bin/activate` 4. 安装依赖: `pip install fastapi uvicorn` 5. 运行应用: `uvicorn main:app --reload` #### 使用说明 ##### 已安装的代码格式化依赖 ````python pip install black isort flake8 ```` 为了保证代码质量和团队协作一致性,项目中安装了以下代码格式化工具: 1. **black** - 代码格式化工具,用于统一代码风格 2. **isort** - 用于整理和格式化Python导入语句 3. **flake8** - 代码质量检查工具,用于检测代码中的潜在问题和规范性 ##### 创建的配置文件 项目中创建了以下配置文件以规范代码风格: 1. **pyproject.toml** - black 和 isort 的配置文件 ```xml [tool.black] line-length = 88 target-version = ['py38'] include = '\.pyi?$' extend-exclude = ''' /( # 排除的目录 \.eggs | \.git | \.hg | \.mypy_cache | \.tox | \.venv | _build | buck-out | build | dist )/ ''' [tool.isort] profile = "black" multi_line_output = 3 line_length = 88 ``` 2. **.flake8** - flake8 的配置文件 ``` [flake8] max-line-length = 88 exclude = .git,__pycache__,venv,.venv,build,dist extend-ignore = E203, W503 ``` 3. **.gitignore** - Git 忽略文件配置 ``` # ====================== # === IDE & 编辑器配置 === # ====================== # JetBrains 系列编辑器 (PyCharm/IntelliJ) 生成的配置目录 # 包含本地路径、运行配置等敏感信息,必须忽略 .idea/ # VS Code 编辑器配置目录 # 包含工作区设置、调试配置等,团队协作时需忽略 .vscode/ # 临时交换文件 (Vim/Neovim 等生成) # 防止编辑器崩溃时残留的临时文件被提交 *.swp *.swo *~ # ====================== # ====== Python ======== # ====================== # Python 字节码编译文件 (避免版本冲突) # 匹配 .pyc, .pyo, .pyd, .pyw 等编译产物 *.py[cod] *$py.class # Python 3 缓存目录 (自动生成,无提交价值) __pycache__/ # C 扩展模块 (编译生成的二进制文件) *.so # 虚拟环境标记文件 (部分工具生成) .Python # 构建产物目录 (setuptools/distutils 生成) build/ develop-eggs/ dist/ sdist/ wheels/ *.egg-info/ MANIFEST .installed.cfg *.egg # 依赖管理临时目录 eggs/ .eggs/ lib/ lib64/ parts/ var/ downloads/ # ====================== # === 虚拟环境 & 环境变量 === # ====================== # 通用虚拟环境目录 (根据实际使用的工具选择) venv/ env/ .venv/ ENV/ # 全局环境变量文件 (敏感信息保护) # 注意:! 开头的规则表示例外 (允许提交示例文件) .env .env.* !.env.example # 允许提交环境变量示例模板 # 特定目录下的环境配置 (允许提交示例文件) # 说明:config/environments/ 目录下只允许 .example 文件 !config/environments/ # 取消整个目录的忽略 config/environments/.env.example config/environments/.env.development.example config/environments/.env.production.example # ====================== # === 前端 & Node.js === # ====================== # Node.js 依赖目录 (体积大且可重建) node_modules/ # 包管理器日志文件 npm-debug.log* yarn-debug.log* yarn-error.log* # ====================== # === 系统 & 临时文件 === # ====================== # macOS 系统文件 (Finder 生成) .DS_Store .DS_Store? ._* # Windows 缩略图缓存 Thumbs.db ehthumbs.db # 其他系统隐藏文件 .Spotlight-V100 .Trashes # ====================== # === 日志 & 数据库 ==== # ====================== # 应用日志文件 (持续增长且无版本价值) *.log logs/ # 本地数据库文件 (通常应使用配置管理) *.db *.sqlite3 # ====================== # === 测试 & 覆盖率 ==== # ====================== # 测试覆盖率报告 .coverage .coverage.* htmlcov/ .pytest_cache/ ``` ##### 执行的动作 ``` # 格式化单个文件 black your_file.py isort your_file.py # 格式化整个项目 black . isort . # 检查代码质量 flake8 . ``` 1. 配置了代码格式化工具及规则 2. 创建了相关配置文件 3. 在 PyCharm 中配置了外部工具支持格式化 ``` 在 PyCharm 中配置自动格式化 在 PyCharm 中进行如下设置以实现自动格式化: 打开 File -> Settings -> Tools -> External Tools 点击 + 添加新工具,配置如下: Name: Black Formatter Program: black (或完整路径如 ./venv/bin/black) Arguments: $FilePath$ Working Directory: $ProjectFileDir$ //实际的工作目录根目录 同样方式添加 isort: Name: ISort Importer Program: isort Arguments: $FilePath$ Working Directory: $ProjectFileDir$ //实际的工作目录根目录 ```