Django 验证循环
在发起 PR 之前、进行重大更改之后以及部署之前运行,以确保 Django 应用程序的质量和安全性。
何时激活
- 在为一个 Django 项目开启拉取请求之前
- 在重大模型变更、迁移更新或依赖升级之后
- 用于暂存或生产环境的预部署验证
- 运行完整的环境 → 代码检查 → 测试 → 安全 → 部署就绪流水线时
- 验证迁移安全性和测试覆盖率时
阶段 1: 环境检查
# Verify Python version
python --version # Should match project requirements
# Check virtual environment
which python
pip list --outdated
# Verify environment variables
python -c "import os; import environ; print('DJANGO_SECRET_KEY set' if os.environ.get('DJANGO_SECRET_KEY') else 'MISSING: DJANGO_SECRET_KEY')"
如果环境配置错误,请停止并修复。
阶段 2: 代码质量与格式化
# Type checking
mypy . --config-file pyproject.toml
# Linting with ruff
ruff check . --fix
# Formatting with black
black . --check
black . # Auto-fix
# Import sorting
isort . --check-only
isort . # Auto-fix
# Django-specific checks
python manage.py check --deploy
常见问题:
- 公共函数缺少类型提示
- 违反 PEP 8 格式规范
- 导入未排序
- 生产配置中遗留调试设置
阶段 3: 数据库迁移
# Check for unapplied migrations
python manage.py showmigrations
# Create missing migrations
python manage.py makemigrations --check
# Dry-run migration application
python manage.py migrate --plan
# Apply migrations (test environment)
python manage.py mi…