テンプレート一覧に戻る
Python + Django + DRF
Django 5 + Django REST Framework + PostgreSQL のAPI開発向けCLAUDE.md。堅牢なバックエンドAPI構築に最適です。
中級pythondjangodrfpostgresql
CLAUDE.md
# プロジェクト名
Django 5 + Django REST Framework で構築されたWebアプリケーション / APIサーバー。
## 技術スタック
- **フレームワーク**: Django 5.1 + Django REST Framework 3.15
- **言語**: Python 3.12+
- **DB**: PostgreSQL 16
- **タスクキュー**: Celery + Redis
- **パッケージ管理**: uv
- **テスト**: pytest + pytest-django
## コマンド
| コマンド | 用途 |
|---------|------|
| `uv run python manage.py runserver` | 開発サーバー起動 |
| `uv run pytest` | テスト実行 |
| `uv run pytest --cov` | カバレッジ付きテスト |
| `uv run python manage.py migrate` | マイグレーション適用 |
| `uv run python manage.py makemigrations` | マイグレーション作成 |
| `uv run ruff check .` | Lint実行 |
| `uv run ruff format .` | フォーマット |
## ディレクトリ構造
| パス | 役割 |
|-----|------|
| `config/` | プロジェクト設定(settings, urls, wsgi) |
| `apps/` | Djangoアプリ群 |
| `apps/<name>/models.py` | モデル定義 |
| `apps/<name>/views.py` | ビュー / APIビュー |
| `apps/<name>/serializers.py` | DRFシリアライザー |
| `tests/` | テストコード |
## コーディング規約
- 型ヒント必須(`Any` は原則禁止)
- docstringはGoogleスタイル
- Ruffでフォーマット・Lint(Black互換)
- Fat Model, Thin View パターンを採用
- ビジネスロジックはサービス層に集約
- DRFのViewSetとSerializerで一貫したAPI設計
- カスタムPermissionクラスで認可制御
## Git規約
- ブランチ: `feature/`, `fix/`, `chore/`
- コミットメッセージ: Conventional Commits形式