|
@@ -0,0 +1,129 @@
|
|
|
+# Python项目模板
|
|
|
+
|
|
|
+这是一个现代化的Python项目模板,使用FastAPI框架构建。
|
|
|
+
|
|
|
+## 项目特性
|
|
|
+
|
|
|
+- 🚀 **FastAPI**: 现代、快速的Web框架
|
|
|
+- 🗄️ **SQLAlchemy**: 强大的ORM框架
|
|
|
+- 🔧 **Alembic**: 数据库迁移工具
|
|
|
+- 📊 **Pandas & NumPy**: 数据处理和分析
|
|
|
+- 🧪 **Pytest**: 测试框架
|
|
|
+- 🎨 **Black**: 代码格式化
|
|
|
+- 📝 **Loguru**: 现代化日志系统
|
|
|
+
|
|
|
+## 快速开始
|
|
|
+
|
|
|
+### 1. 安装依赖
|
|
|
+
|
|
|
+```bash
|
|
|
+# 创建虚拟环境
|
|
|
+python -m venv venv
|
|
|
+
|
|
|
+# 激活虚拟环境 (Windows)
|
|
|
+venv\Scripts\activate
|
|
|
+
|
|
|
+# 激活虚拟环境 (Linux/Mac)
|
|
|
+source venv/bin/activate
|
|
|
+
|
|
|
+# 安装依赖
|
|
|
+pip install -r requirements.txt
|
|
|
+```
|
|
|
+
|
|
|
+### 2. 环境配置
|
|
|
+
|
|
|
+复制 `.env.example` 文件为 `.env` 并配置环境变量:
|
|
|
+
|
|
|
+```bash
|
|
|
+cp .env.example .env
|
|
|
+```
|
|
|
+
|
|
|
+### 3. 运行项目
|
|
|
+
|
|
|
+```bash
|
|
|
+# 开发模式
|
|
|
+uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
|
|
|
+
|
|
|
+# 生产模式
|
|
|
+uvicorn app.main:app --host 0.0.0.0 --port 8000
|
|
|
+```
|
|
|
+
|
|
|
+### 4. 访问API文档
|
|
|
+
|
|
|
+- Swagger UI: http://localhost:8000/docs
|
|
|
+- ReDoc: http://localhost:8000/redoc
|
|
|
+
|
|
|
+## 项目结构
|
|
|
+
|
|
|
+```
|
|
|
+new-python-project/
|
|
|
+├── app/ # 应用主目录
|
|
|
+│ ├── __init__.py
|
|
|
+│ ├── main.py # 应用入口
|
|
|
+│ ├── api/ # API路由
|
|
|
+│ ├── core/ # 核心配置
|
|
|
+│ ├── models/ # 数据模型
|
|
|
+│ ├── schemas/ # Pydantic模式
|
|
|
+│ ├── services/ # 业务逻辑
|
|
|
+│ └── utils/ # 工具函数
|
|
|
+├── tests/ # 测试文件
|
|
|
+├── alembic/ # 数据库迁移
|
|
|
+├── .env.example # 环境变量示例
|
|
|
+├── requirements.txt # 项目依赖
|
|
|
+└── README.md # 项目说明
|
|
|
+```
|
|
|
+
|
|
|
+## 开发指南
|
|
|
+
|
|
|
+### 代码格式化
|
|
|
+
|
|
|
+```bash
|
|
|
+# 格式化代码
|
|
|
+black .
|
|
|
+
|
|
|
+# 检查代码风格
|
|
|
+flake8 .
|
|
|
+
|
|
|
+# 类型检查
|
|
|
+mypy .
|
|
|
+```
|
|
|
+
|
|
|
+### 运行测试
|
|
|
+
|
|
|
+```bash
|
|
|
+# 运行所有测试
|
|
|
+pytest
|
|
|
+
|
|
|
+# 运行特定测试文件
|
|
|
+pytest tests/test_api.py
|
|
|
+
|
|
|
+# 生成覆盖率报告
|
|
|
+pytest --cov=app tests/
|
|
|
+```
|
|
|
+
|
|
|
+## 数据库操作
|
|
|
+
|
|
|
+### 创建迁移
|
|
|
+
|
|
|
+```bash
|
|
|
+alembic revision --autogenerate -m "描述变更"
|
|
|
+```
|
|
|
+
|
|
|
+### 应用迁移
|
|
|
+
|
|
|
+```bash
|
|
|
+alembic upgrade head
|
|
|
+```
|
|
|
+
|
|
|
+## 贡献指南
|
|
|
+
|
|
|
+1. Fork 项目
|
|
|
+2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
|
|
|
+3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
|
|
|
+4. 推送到分支 (`git push origin feature/AmazingFeature`)
|
|
|
+5. 打开 Pull Request
|
|
|
+
|
|
|
+## 许可证
|
|
|
+
|
|
|
+本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
|
|
|
+
|