Happy 20th Birthday, Django

Stability, longevity, and careers

  • Many commenters say Django literally started or defined their careers, from student side-projects to startups, ML labs, and long-lived companies.
  • A recurring theme is stability: apps begun on very old versions (e.g., 1.4/Python 2.x) reportedly still run on Django 5 with modest migration effort.
  • Django is praised as a rare web framework that’s still relevant and pleasant after 15–20 years.

Design philosophy and influences

  • Django’s “batteries included” approach and strong, cohesive philosophy are repeatedly highlighted as differentiators.
  • Several note it was originally shaped by PHP experience; request.GET/POST and the template system were influenced by PHP practices and Smarty, but deliberately avoid “PHP-style” arbitrary logic in templates.
  • There is debate over how much it was inspired by Rails; timeline comments suggest independent origins, with mutual influence later.

ORM, admin, and “batteries included”

  • The ORM is one of the most-loved features; some miss it when using other stacks and even add Django to projects just for schema/migrations.
  • Others dislike the query DSL, finding it non-SQL-ish and hard to remember; some prefer SQLAlchemy’s thinner abstraction.
  • The admin is seen both as a killer feature and as a trap: great for internal CRUD and fast prototypes, but hard to extend for the “last 20%” without a rewrite.

Async support and typing

  • Async support is described as “clunky and incomplete”: heavy use of sync_to_async, missing transactional async DB support, and limited async support in third‑party libraries.
  • A few argue that in real-world Python async projects, blocking issues are common anyway.
  • Lack of first-party type hints is a noted pain point; workarounds include isolating the ORM layer and mapping to typed dataclasses/Pydantic models.

Comparisons with other frameworks

  • Some have moved to FastAPI or Litestar for APIs and dependency injection, but miss Django’s ORM, integration, and tooling.
  • Rails is widely respected; preferences often hinge on language taste, ecosystem size (Python wins for data/ML/GIS), and stability.
  • Laravel is seen as having borrowed from Rails/Django and “moved faster” on things like job queues, websockets, modern forms, and CLI tooling.
  • Flask is liked for minimalism, but several report Flask projects organically growing a “DIY Django” of bolted-on components.
  • Phoenix/Elixir, Go, and others are mentioned as attractive but still lacking Django’s depth of batteries and admin.

Frontend and “best way to use Django in 2025”

  • Two main camps:
    • Headless/backend-only Django with React/Vite/Next.js and OpenAPI for rich SPAs.
    • Classic Django templates plus HTMX (and sometimes Alpine.js) for moderate interactivity without heavy JS stacks.
  • Some find HTMX/Alpine hard to maintain on larger UIs and prefer returning to React; others love the simplicity of server-rendered templates.

Documentation, community, and governance

  • Django’s documentation is repeatedly called “gold standard” and “documentation as empathy,” including versioned docs going back many years.
  • The community, local user groups, and the framework’s patient deprecation policy are seen as key to its longevity.
  • Litestar is praised partly for its distributed governance, contrasted with more BDFL-driven projects; Django itself is viewed as having strong, long-term stewardship.

Critiques and differing experiences

  • Some developers simply “don’t enjoy” Django, citing hidden magic, monolithic assumptions (RDB+ORM+HTML/JSON), and difficulty when using non-relational backends or non-Django ORMs.
  • One commenter, despite great respect for Django’s engineering, avoids it for modern API-first work, preferring lightweight frameworks and direct SQL.
  • A minority finds Django “toy-like” compared to Rails, though others point to large-scale users as counterexamples.

Funding and sustainability

  • The blog’s note that the Django Software Foundation is only ~25% toward its annual funding goal sparks concern.
  • Several commenters see this as emblematic of the broader problem: critical open-source infrastructure creating massive value while struggling for financial support.