# Django

277 Hacker News commenters recommended Django and 97 criticized it, November 2025 to November 2026. It was recommended in 12 of 13 months; owners who said how long report a median of 15 years (38 owners). It meets the Hacker Approved badge rule.

**Verdict:** A mature, boring Python web framework with built-in auth, admin and migrations that lets people ship working apps fast, though critics say its magic gets in the way.

## Why people recommend it

- Boring, productive, ships fast (6 comments): "Django is boring in a best possible way. Rather than spending six months setting up a bunch of microservices, you spend couple weeks on Django and ship a working product." ([source](https://news.ycombinator.com/item?id=46924438)) "if it's something you could do with e.g. a simple Django app you'll not only be done faster but will spend an order of magnitude less time on maintenance" ([source](https://news.ycombinator.com/item?id=48482002)) "I found that everything makes sense and I was able to build a moderately complex site with user accounts within a reasonable time" ([source](https://news.ycombinator.com/item?id=46155284))
- Works well with LLM coding (7 comments): "Migration churn adds up over the years but overall it's nice and site-specific code is usually so small it fits very nice in LLM context" ([source](https://news.ycombinator.com/item?id=49194597)) "Django in particular is optimized for LLMs as it's based on Python and has a strong set of design patterns built over decades" ([source](https://news.ycombinator.com/item?id=47414120)) "The framework acts as guardrails and the LLM has to make fewer choices, so less of the token budget goes on bikeshedding." ([source](https://news.ycombinator.com/item?id=49798693))
- Built-in auth, admin, migrations (5 comments): "The framework allows you to trust that things like authentication and a passable code organization are being correctly handled." ([source](https://news.ycombinator.com/item?id=47326380)) "Django's capabilities meant such things as multi-user login pages, access controls and remote monitoring were very easy." ([source](https://news.ycombinator.com/item?id=49369756)) "It was basically an admin interface, but with dozens of models and hundreds if not thousands of individual fields" ([source](https://news.ycombinator.com/item?id=46793791))
- Sensible conventions, right amount magic (4 comments): "I haven't seen anything which is so flexible with amazing DSLs while also making it easy to understand the magic behind it." ([source](https://news.ycombinator.com/item?id=49055979)) "Django is very good at having the autogenerated/default stuff be consistent with what you do if you want to write manually" ([source](https://news.ycombinator.com/item?id=46805368)) "It's just the right amount of magic, and just the right amount of flexibility, and it's just such a joy to work with." ([source](https://news.ycombinator.com/item?id=46794118))

## What people warn about

- Too much magic, implicit behavior (4 comments): "As soon as you hit something Django doesn't support, you're back to lego-ing a solution together except you now have to do it in a framework with a lot of magic and assumptions to work around." ([source](https://news.ycombinator.com/item?id=45802002)) "I'm afraid of a system like Django where not calling `.save()` in the wrong place is down to discipline and understanding." ([source](https://news.ycombinator.com/item?id=47425732)) "A mature Django app is also not a nice dev experience IMO, with tons of implicit behavior all over the place" ([source](https://news.ycombinator.com/item?id=48525443))
- Hard beyond what it supports (4 comments): "As soon as you hit something Django doesn't support, you're back to lego-ing a solution together except you now have to do it in a framework with a lot of magic and assumptions to work around." ([source](https://news.ycombinator.com/item?id=45802002)) "Django's orm does not support something as simple as specifying a database schema other than the default "public" one out of the box." ([source](https://news.ycombinator.com/item?id=49347054)) "Django makes simple things easy and complex things hard. Django breaks the zen of Python with much 'magic'." ([source](https://news.ycombinator.com/item?id=49196028))
- Migration overhead over time (2 comments): "Django apps are an anitipattern for large internal / single purpose products due to migration overhead as FKs cross application boundaries" ([source](https://news.ycombinator.com/item?id=49058346)) "Migration churn adds up over the years but overall it's nice and site-specific code is usually so small it fits very nice in LLM context" ([source](https://news.ycombinator.com/item?id=49194597))

## Alternatives hackers recommend

- [Ruby on Rails](https://hackerapproved.com/p/ruby-on-rails.md): 337 recommend
- [Next.js](https://hackerapproved.com/p/next-js.md): 127 recommend
- [Phoenix Framework](https://hackerapproved.com/p/phoenix.md): 85 recommend
- [Laravel](https://hackerapproved.com/p/laravel.md): 71 recommend
- [SvelteKit](https://hackerapproved.com/p/sveltekit.md): 67 recommend

## Cite as

Hacker Approved, "Django", https://hackerapproved.com/p/django/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
