Files
DjangoAdmin_Flask_EleVue/Makefile
T
DjangoAdmin DevandClaude 658ee6d596 refactor: P2 core+common 建设(应用工厂/扩展/工具层迁入 src/)
【结构】
- src/core/:database/response/jwt/password/security/redis_client/mail/scheduler
- src/common/:base_model/base_db/forms(base_form+fields)/constants/utils
- src/models_registry.py:模型聚合器(Flask-Migrate 全量表识别)

【绞杀者 shim】extensions/、utils/、application/constants|forms|models 打兼容转发
【兼容修复】应用工厂抽取至 application/factory.py(P2 前置,P1 已完成)

【基线修复】application/models(25) + middleware(7) 原被嵌套 .gitignore(*)
误排除出版本库,已补入(base_model/base_db 现为 shim,原版在 src/common/)

【登记既有缺陷】
1. flask db CLI 因 .env FLASK_VERSION 与 --version 冲突报错 → Makefile 已加 FLASK_SKIP_DOTENV=1
2. 本机 Redis 未设密码但 REDIS_AUTH=True,/captcha 报 AUTH 错误(环境问题)

【验收】22 模型表全量识别;src/ flake8 零告警;pytest 5 passed;应用启动;
/login 表单校验、/user/page 鉴权拦截冒烟正常

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-07 13:20:46 +08:00

75 lines
2.7 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ============================================================
# DjangoAdmin Flask+EleVue 常用命令集
# 用法:make help / make lint / make test / ...
# ============================================================
PYTHON ?= python
PIP ?= $(PYTHON) -m pip
FLASK ?= $(PYTHON) -m flask
# 说明:.env 中 FLASK_VERSION=v2.8.0 会被 Flask CLI 误解析为 --version 布尔标志,
# 导致 flask db 系列命令报错。故 db-* 目标显式跳过 CLI 自动加载 .env
# (config/__init__.py 会自行加载 .env,应用配置不受影响)。
FLASK_ENV_PREFIX := FLASK_SKIP_DOTENV=1 FLASK_APP=app.py
.PHONY: help install install-dev dev lint format type-check test test-cov \
db-migrate db-upgrade db-downgrade docker-up docker-down clean
help: ## 显示全部命令帮助
@grep -E '^[a-zA-Z_-]+:.*?## ' $(MAKEFILE_LIST) | sort | \
awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}'
# ---- 依赖 ----
install: ## 安装生产依赖
$(PIP) install -r requirements.txt
install-dev: ## 安装开发依赖(含生产依赖 + 测试/规范工具)
$(PIP) install -r requirements-dev.txt
# ---- 运行 ----
dev: ## 启动开发服务器(127.0.0.1:8021)
$(PYTHON) app.py
# ---- 代码质量 ----
lint: ## 静态检查(flake8 + black + isort)
flake8 application utils extensions config src tests scripts
black --check --line-length 120 application utils extensions config src tests scripts
isort --check-only application utils extensions config src tests scripts
format: ## 自动格式化(black + isort)
black --line-length 120 application utils extensions config src tests scripts
isort application utils extensions config src tests scripts
type-check: ## 类型检查(mypy)
mypy application src
# ---- 测试 ----
test: ## 运行全部测试
pytest
test-cov: ## 带覆盖率运行测试
pytest --cov=application --cov-report=term-missing
# ---- 数据库迁移 ----
db-migrate: ## 生成迁移脚本(模型变更后)
$(FLASK_ENV_PREFIX) $(FLASK) db migrate
db-upgrade: ## 应用迁移到最新
$(FLASK_ENV_PREFIX) $(FLASK) db upgrade
db-downgrade: ## 回滚一次迁移
$(FLASK_ENV_PREFIX) $(FLASK) db downgrade
# ---- Docker ----
docker-up: ## 启动 Docker 服务
cd docker && docker-compose up -d
docker-down: ## 停止 Docker 服务
cd docker && docker-compose down
# ---- 清理 ----
clean: ## 清理缓存与临时文件
find . -type d -name __pycache__ -not -path "*/ui/*" -exec rm -rf {} +
find . -type f -name "*.pyc" -not -path "*/ui/*" -delete
rm -rf .pytest_cache .mypy_cache