Django
Hacker ApprovedRanked 2 of 63 web frameworks by recommenders
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.
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.
374 people gave an opinion
- recommend it
- 277
- criticize it
- 97
- approval share
- 74%
Recommended in 12 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Owned for 15 years
Median of the 38 owners who said how long they have had it.
Each square is one year.
Why it carries the badge
- 277 people recommend itNeeds 10 or more, met.
- 2.9 recommenders for every criticNeeds 2 to 1 or better, met.
- Recommended in 12 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Boring, productive, ships fast
“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.”
Comment from 7 Feb 2026 in “France's homegrown open source online office suite” “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”
Comment from 10 Jun 2026 in “Building an HTML-first site doubled our users overnight” “I found that everything makes sense and I was able to build a moderately complex site with user accounts within a reasonable time”
Comment from 5 Dec 2025 in “Django 6” - Comment from 28 Jan 2026 in “Notes on Starting to Use Django”
- Comment from 3 Jan 2026 in “Publish (On Your) Own Site, Syndicate Elsewhere”
- Comment from 7 Feb 2026 in “France's homegrown open source online office suite”
Works well with LLM coding
“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”
Comment from 6 Aug 2026 in “What I love about Django” “Django in particular is optimized for LLMs as it's based on Python and has a strong set of design patterns built over decades”
Comment from 17 Mar 2026 in “Give Django your time and money, not your tokens” “The framework acts as guardrails and the LLM has to make fewer choices, so less of the token budget goes on bikeshedding.”
Comment from 22 Sep 2026 in “Trying the software factory pattern” - Comment from 13 Aug 2026 in “Choose Boring Technology (2015)”
- Comment from 28 Jan 2026 in “Notes on Starting to Use Django”
- Comment from 13 Aug 2026 in “Choose Boring Technology (2015)”
- Comment from 26 Jan 2026 in “Vibe Coding Kills Open Source”
Built-in auth, admin, migrations
“The framework allows you to trust that things like authentication and a passable code organization are being correctly handled.”
Comment from 10 Mar 2026 in “I built a programming language using Claude Code” “Django's capabilities meant such things as multi-user login pages, access controls and remote monitoring were very easy.”
Comment from 20 Aug 2026 in “PostgreSQL for Everything” “It was basically an admin interface, but with dozens of models and hundreds if not thousands of individual fields”
Comment from 28 Jan 2026 in “Notes on Starting to Use Django” - Comment from 6 May 2026 in “From Supabase to Clerk to Better Auth”
- Comment from 26 Jul 2026 in “Some more things about Django I've been enjoying”
Sensible conventions, right amount magic
“I haven't seen anything which is so flexible with amazing DSLs while also making it easy to understand the magic behind it.”
Comment from 26 Jul 2026 in “Some more things about Django I've been enjoying” “Django is very good at having the autogenerated/default stuff be consistent with what you do if you want to write manually”
Comment from 29 Jan 2026 in “Notes on Starting to Use Django” “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.”
Comment from 28 Jan 2026 in “Notes on Starting to Use Django” - Comment from 28 Jan 2026 in “Notes on Starting to Use Django”
What people warn about
Each mark is one comment
Too much magic, implicit behavior
“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.”
Comment from 3 Nov 2025 in “Why we migrated from Python to Node.js” “I'm afraid of a system like Django where not calling `.save()` in the wrong place is down to discipline and understanding.”
Comment from 18 Mar 2026 in “Show HN: Oxyde – Pydantic-native async ORM with a Rust core” “A mature Django app is also not a nice dev experience IMO, with tons of implicit behavior all over the place”
Comment from 14 Jun 2026 in “Python 3.14 garbage collection rigamarole” - Comment from 6 Aug 2026 in “What I love about Django”
Hard beyond what it supports
“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.”
Comment from 3 Nov 2025 in “Why we migrated from Python to Node.js” “Django's orm does not support something as simple as specifying a database schema other than the default "public" one out of the box.”
Comment from 18 Aug 2026 in “Rethinking Database Programming” “Django makes simple things easy and complex things hard. Django breaks the zen of Python with much 'magic'.”
Comment from 6 Aug 2026 in “What I love about Django” - Comment from 29 Nov 2025 in “A first look at Django's new background tasks”
Migration overhead over time
“Django apps are an anitipattern for large internal / single purpose products due to migration overhead as FKs cross application boundaries”
Comment from 26 Jul 2026 in “Some more things about Django I've been enjoying” “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”
Comment from 6 Aug 2026 in “What I love about Django”
Other web frameworks people recommend
The four most recommended other web frameworks, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| Ruby on Rails | 337 | 145 | 70% | 12 | 14 yrs38 owners | Approved |
| Django | 277 | 97 | 74% | 12 | 15 yrs38 owners | Approved |
| Next.js | 127 | 256 | 33% | 12 | 3 yrs6 owners | — |
| Phoenix Framework | 85 | 11 | 89% | 12 | 8 yrs7 owners | Approved |
| Laravel | 71 | 24 | 75% | 13 | 2 yrs3 owners | Approved |
What people said
40 of the 498 comments that mention it, newest first. Each links to the original comment.
“most any Python programmer can reliably churn out a Django app as a Microservice and be fairly sure it won't be that hard to make”
“The framework acts as guardrails and the LLM has to make fewer choices, so less of the token budget goes on bikeshedding.”
“Django's capabilities meant such things as multi-user login pages, access controls and remote monitoring were very easy.”
“Django's orm does not support something as simple as specifying a database schema other than the default "public" one out of the box.”
“Django is the only thing I've used where I've vibe-coded an app, then looked at the code and not been appalled.”
“Django's docs are excellent, so strategically pointing an LLM to them in a prompt can often produce great results.”
“Django makes simple things easy and complex things hard. Django breaks the zen of Python with much 'magic'.”
“Yes, if you attempt to use Django like you'd use your typical Java, Swift, C#, or Objective-C framework, you're not going to have a good time.”
“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”
“We could much more that back 15 years ago on very basic hardware, rendering templates and doing semi complex UIs.”
“django tracks the migrations that were run inside the database so they'd all see the same thing and act the same way.”
“Running your API in Rust/Go/etc and then doing the admin and migrations via Django is a hidden superpower.”
“Django apps are an anitipattern for large internal / single purpose products due to migration overhead as FKs cross application boundaries”
“If you deploy it reasonably well (workers, behind a caching reverse proxy etc) it's easy to operate in production even under duress.”
“I haven't seen anything which is so flexible with amazing DSLs while also making it easy to understand the magic behind it.”
“A mature Django app is also not a nice dev experience IMO, with tons of implicit behavior all over the place”
“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”
“For a broad range of requirements, running your DB directly and managing auth with Django or similar is easier.”
“if I do a search on AI and on google for what one web stack probably has the lowest overall total cost of ownership”
“I'm afraid of a system like Django where not calling `.save()` in the wrong place is down to discipline and understanding.”
“Django in particular is optimized for LLMs as it's based on Python and has a strong set of design patterns built over decades”
“The framework allows you to trust that things like authentication and a passable code organization are being correctly handled.”
“Django is in the category of battle-tested frameworks that are very boring and easy to get things done with.”
“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.”
“you can probably figure out some basic django to throw data in its ORM, or find libraries that do the work for you”
“Django is very good at having the autogenerated/default stuff be consistent with what you do if you want to write manually”
“It's so prevalent that Claude/Codex are very good at setting it up the right way, using tried and true patterns.”
“Django just starts you with a good convention that (mostly) prevents you from doing things that you’ll regret later”
“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.”
“It was basically an admin interface, but with dozens of models and hundreds if not thousands of individual fields”
“Django is objectively the most productive "boring technology" I've ever worked with for developing web applications.”
“starting with a base like django then using vibe coding to build models and templates exactly how one wants”
“I would not say that about a framework like Django - though I would encourage people not to under-invest in understanding web fundamentals”
“put the Django architecture together on vacation, started putting things together today and it’s been a blast.”
“supported both Python 2 AND 3 before I even found out that Python 3 was going to have significant breaking changes”
“I found that everything makes sense and I was able to build a moderately complex site with user accounts within a reasonable time”
“I am an extremely satisfied django developer, and very very very rarely touch frontend. Django is A-M-A-Z-I-N-G.”
“still feels tremendously cozy to use. I've done some goofy things with it and it's always served me really well.”
“It's frustrating because we use all manner of hacks to work around this being part of the builtin story.”
“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.”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.