Django 6
Usage Patterns & Tech Stack Choices
- Commenters report using a wide mix of stacks: Django/Rails/Laravel-style frameworks, Flask/FastAPI microframeworks, Go/Rust/Kotlin/Java/.NET services, Node+React SPAs, and even legacy Perl/CGI.
- Several people have Django projects running for 10–15+ years and describe them as a joy to maintain compared to newer Node/React or Go/React codebases.
- Some have moved to custom mixes (e.g., FastAPI + SQLAlchemy, Go services) but note their design is still heavily influenced by Django patterns.
Django’s Strengths
- “Batteries included” remains a core selling point: auth, admin, ORM, migrations, forms, and consistent app structure let people be productive in minutes.
- The ORM is repeatedly called out as Django’s biggest advantage, often preferred over SQLAlchemy or any Node ORM for quickly building reliable enterprise apps.
- The admin is valued both for rapid CRUD and as a trusted ground truth when the frontend is buggy.
- Django is seen as especially well-suited to LLM-assisted development: opinionated, compact code and a huge open-source corpus make it easy for AIs (and humans) to reason about.
Django 6.0 Features & Gaps
- Template partials are welcomed, especially for use with HTMX/Alpine-style progressive enhancement.
- New background tasks API and CSP support are praised, but there’s disappointment that Django 6 doesn’t yet ship a production-ready task backend; Celery/Huey/RQ still needed.
- Many feel async support is still underwhelming; some wish Python had adopted a gevent-like model to avoid dual sync/async stacks.
- Type annotations are a pain point: reliance on external stub packages (for mypy/pyright) is brittle; people want first-party typing for core classes.
Django vs Rails/Laravel & Frontend Story
- Rails and Laravel are often seen as ahead on integrated frontend tooling (Blade/Livewire, Hotwire, asset bundling, live reload). Django’s templating is called “stone age” by some, though others are happy with Django + HTMX/Alpine/Tailwind.
- Rails is praised as a better-designed framework in some eyes, but Django wins on built-in auth/admin and the size of the Python talent pool.
- Django’s website and branding are viewed by some as dated and underselling the framework, though others prefer the no-nonsense, stable docs.
SPAs, Modern JS, and Django
- Long subthread on how we got to SPAs: team separation, UX (no page flashes), mobile apps, rich client-side state, and market forces around JS skills.
- Many criticize SPA complexity, brittleness, and back-button issues; some find a simple page refresh “soothing” now.
- Integrating modern JS stacks (Next/Nuxt, Storybook, shadcn) with Django is seen as complex because it implies running a full parallel Node toolchain.
- Others argue Django can start as a server-rendered monolith, then evolve into an API for an SPA when/if needed; tools like Django REST Framework, Django Ninja, Strawberry GraphQL, Inertia.js, HTMX, and Alpine are mentioned as bridges.