← ClaudeAtlas

django--uvlisted

Provides expert knowledge for building Django 5+ projects with UV as the package manager, domain-driven app structure, ruff for linting, and pytest-django for testing.
lgzarturo/codeconductor · ★ 0 · AI & Automation · score 76
Install: claude install-skill lgzarturo/codeconductor
# Django + UV ## Project Setup with UV UV replaces pip, pip-tools, virtualenv, and pyenv in a single binary. Always use UV for dependency management. ```bash # Create project uv init my-project cd my-project # Add Django and dependencies uv add django psycopg[binary] djangorestframework django-environ # Add dev dependencies uv add --dev pytest pytest-django ruff factory-boy coverage # Run management commands uv run python manage.py migrate uv run python manage.py runserver ``` ### pyproject.toml Layout ```toml [project] name = "my-project" version = "0.1.0" requires-python = ">=3.12" dependencies = [ "django>=5.0", "psycopg[binary]>=3.1", "djangorestframework>=3.15", "django-environ>=0.11", ] [project.optional-dependencies] dev = [ "pytest>=8.0", "pytest-django>=4.8", "ruff>=0.4", "factory-boy>=3.3", "coverage>=7.4", ] [tool.ruff] line-length = 88 target-version = "py312" [tool.ruff.lint] select = ["E", "F", "I", "N", "UP", "B", "SIM"] ignore = ["E501"] [tool.pytest.ini_options] DJANGO_SETTINGS_MODULE = "config.settings.test" python_files = ["test_*.py", "*_test.py"] python_classes = ["Test*"] python_functions = ["test_*"] [tool.coverage.run] source = ["."] omit = ["*/migrations/*", "*/tests/*", "manage.py"] ``` ## App Structure (Domain-Driven) Organize by domain, not by technical layer. Each Django app owns its domain entirely. ```text my_project/ config/ settings/ base.py — shared settings dev.py