- CHANGELOG.md / CONTRIBUTING.md - 新增 exceptions / case_converter 单元测试 - pytest 12 → 22 passed;全项目 flake8 0 Co-Authored-By: Claude <noreply@anthropic.com>
1.7 KiB
1.7 KiB
贡献指南
欢迎参与 DjangoAdmin Flask+EleVue 的开发。请遵循以下规范。
开发环境
# 1. 安装开发依赖(含生产依赖)
python -m venv .venv
.venv/Scripts/activate # Windows
# source .venv/bin/activate # Linux/macOS
pip install -r requirements-dev.txt
# 2. 复制并配置环境变量
cp .env.example .env
# 3. 安装 pre-commit 钩子
pre-commit install
代码规范
项目强制 flake8 零告警(与 black/isort 配置协同)。
make lint # flake8 + black --check + isort --check
make format # black + isort 自动格式化
make type-check # mypy
新增业务模块
遵循 View(router) → Service → Repository → Model 四层:
src/modules/<domain>/<name>/models.py— 继承BaseModel+BaseDBsrc/modules/<domain>/<name>/repository.py— 继承BaseRepositorysrc/modules/<domain>/<name>/service.py— 业务逻辑(入参数据/出参数据,失败raise BizError,不读request)src/modules/<domain>/<name>/schema.py— WTForms 验证表单(继承BaseForm)src/modules/<domain>/<name>/router.py— 路由(取参 + 包 R +@check_permission)src/routes/v1.py— 将蓝图加入BLUEPRINTS列表(挂载/api/v1)
测试
make test # pytest
make test-cov # 覆盖率
单元测试放置于 tests/unit/,集成测试放置于 tests/integration/。
提交规范
- 提交信息使用
type: 描述前缀(feat/fix/refactor/chore/docs) - 每阶段独立提交,便于回滚
- pre-commit 钩子会自动执行格式检查
文档
- 架构与规范见
CLAUDE.md与重构方案-v2.md - API 变更需同步
USAGE.md与CHANGELOG.md