Django's Survey Says the Monolith Is Fine. FastAPI Can Keep the Stars

Real Python's September 11 podcast recaps 3,500 Django developers: 54% ship monoliths, 43% on 6.0. A September 12 benchmark post still wants you to switch.

The Django survey is not a rewrite memo. It is a status report from people who already shipped.

On September 11, Real Python Podcast episode 311 spent a segment on “The State of Django 2026: Boring Is So Back.” The hosts were walking PyCoder’s Weekly. The report underneath is the fifth annual Django Developers Survey, DSF plus PyCharm, nearly 3,500 people in more than 40 countries, fielded May to July. Django’s own weblog pointed at it on August 28. The podcast is why it is in this week’s queue.

A day later, Tech Insider published a Django vs Flask vs FastAPI scorecard with live version pins: Django 6.1.1 on September 2, Flask 3.1.3 from February, FastAPI 0.141.1. FastAPI’s GitHub star count in that piece is 102,282. Flask sits at 74,276. Throughput tables say FastAPI can do five to ten times Flask. Fine. Stars are not traffic. A lab request rate is not your admin.

We already ran FastAPI against Django as a framework choice. This week is the survey saying most Django shops are not choosing. They are staying.

What “boring” is doing in the headline

JetBrains’s write-up is the document the podcast is recapping. PostgreSQL has been the database for 76 to 79 percent of respondents for five years. The Django template engine holds around 80 percent. Forty-three percent are already on Django 6.0. Will Vincent’s line, which JetBrains printed: in software, boring means you can stop thinking about the tool.

That is not a flex at FastAPI. It is a description of a stack that stopped being a debate. If your team still has a wiki page titled “should we rewrite in async Python,” the survey is the cold water.

Deployment is the part people skip in conference talks. Fifty-four percent ship a monolith. Forty-four percent self-host. The fashionable architecture diagram is someone else’s slide. The people who answered this survey are putting a single Django process behind a proxy and going home.

Async is opt-in. Thirty-three percent use it. Forty percent plan to. Nobody in those numbers is required to burn the request/response path to get a new major version.

Two ways to build, both already mainstream

Seventy-two percent use server-rendered templates. Fifty-three percent use Django as API-only. Forty-six percent use it behind a SPA or a separate JavaScript frontend. Those overlap, because people run more than one app.

Asked for a primary approach: half mostly render on the server, 44 percent mostly do APIs or a JS frontend. That is not a community splitting in half in anger. It is a community that can do either without leaving the project.

If you are on the template side, the survey is permission to keep going, including with htmx on Django instead of standing up a second repo. If you are on the API side, FastAPI is a competitor for new services, not a moral judgment on the monolith you already have.

The pieces people say they value: models, admin, authentication. Tech Insider’s own close admits Django still wins when you need an admin, a mature ORM, or the 5.2 LTS clock, which they peg through April 2028. That sentence and the survey are the same story. FastAPI does not pretend to be an admin. Stop comparing it as if it were.

The September 12 scorecard is a hiring poster

Sofia Lindström’s piece is useful as a version dump. Django 6.1.1 is a point release, not a new religion. Flask 3.1.3 is maintenance. FastAPI’s point versions move fast, which is either vitality or churn, depending on whether you pin.

GitHub stars follow tutorials and job posts. FastAPI has been the greenfield API default for a few years. Of course the star count passed the older projects. Hiring screens that ask for FastAPI first are describing new teams. They are not describing the 54 percent still shipping one Django unit.

Throughput at 106k versus 13k requests per second, if you believe the benches they cite, matters when you are CPU-bound on JSON and you have already paid for the rest of the system. Most Django apps are bound on the database, the ORM queries you did not index, and the templates you render for staff. We have a whole N+1 piece for that. Switching frameworks does not add the index.

If you are starting a pure API tomorrow with types and no admin, FastAPI is a reasonable default. The survey is not about you. It is about the people who have an admin and a user table and a set of management commands from 2019.

What actually changed around Django

The podcast episode also flags reproducible CPython builds and the PSF’s prebuilt distribution work. That is packaging, not views.py. It belongs in the same week because the survey’s other theme, which JetBrains states outright, is that developers change tools around Django faster than they change Django. Ruff. uv. Agents. Type checkers. htmx. The framework stays.

That matches what 3.15 is doing to startup time on the web side. Lazy imports helped a CLI in a tutorial. Your Django app still imports half of INSTALLED_APPS at boot. Different animal. The survey does not ask about PEP 810. It asks whether you still like models.

If you want a 2026 Django change that is not a rewrite, take the boring list seriously:

  • Stay on a current stable if you are in the 43 percent already on 6.0, or plan the hop if you are not.
  • Keep Postgres unless you have a reason. Five years of 76–79 percent is not a trend. It is a rut that works.
  • Treat async as a view-by-view choice, not a migration.
  • If you self-host in the 44 percent, the risk is your OS images and your TLS, not FastAPI’s star count.

When a rewrite is still honest

Rewrite if the product is an API with no admin and the Django tax is real: too many unused apps, too slow a boot, a team that only knows Starlette. Rewrite if you are greenfield and the survey’s monolith majority is not your constraint.

Do not rewrite because a listicle timed a hello-world. Do not rewrite because the podcast said “boring” and you heard “dead.” Boring in this report means the ORM, the admin, and auth still show up when people are asked what they like. Dead looks like a framework whose survey cannot find 3,500 humans.

Flask is the third name in the September 12 title. The survey barely needs it. Flask remains the small service and the teaching stack. Tech Insider says it still makes sense where simplicity beats speed. That has been true since before FastAPI existed. It is not this week’s news.

The practical take

If you maintain a Django app, read the JetBrains post once, skip the rank table, and look at your own deploy. Monolith or not. Postgres or not. Templates or a separate frontend. Async or not. Those four answers tell you whether you are in the majority the survey measured.

If all four match the majority, your 2026 work is the stuff around the framework: typed code, a linter that runs, tests that fail in CI, maybe htmx on the one page that deserves it. If you are in the 44 percent on the API/JS-primary side, you can still keep Django as the backend without performing a conversion in public.

6.1.1 is not the survey

Tech Insider’s Django pin is 6.1.1, shipped September 2. The survey’s 43 percent on 6.0 is a different clock. Point releases do not move the monolith number. They move your pip freeze. If you are still on 4.2 LTS because “it works,” the survey is not going to shame you in public, but the LTS clock will. 5.2’s support through April 2028, in Lindström’s telling, is the conservative landing zone if 6.x still feels early.

Do not read 6.1.1 as a reason to start a FastAPI sidecar. Read it as a reason to read the release notes for your actual apps. Admin, auth, models: those are the survey’s favorites and also where accidental breakages hide.

The 72 percent on templates includes a lot of staff tools nobody will ever rewrite in React. That is healthy. The 53 percent on API-only includes the same company running a second project. Overlap is the default. A blog post that treats the community as two armies is writing fan fiction on top of a multiple-choice form.

What to do on Monday

If you own a Django service:

  1. Write down version, database, render path, host. Four lines.
  2. If three of the four match the survey majority, spend the next sprint on tests and query plans, not on a framework spike.
  3. If you are API-primary and the admin is a burden you never open, a FastAPI service for a new endpoint can be justified. The old app can stay.
  4. If you self-host, budget OS and TLS, not stars.

The Real Python episode is 46 minutes and also mentions matchify and pydantic-pint. Those are weekly links. They are not the news. The news is 3,500 people saying they did not leave.

Hiring is where the September 12 post and the survey actually collide. FastAPI shows up first on new API job posts. Django shows up on the job posts that mention admin, CMS, and “existing codebase.” If you are staffing a greenfield JSON service, interview for FastAPI. If you are staffing a ten-year retailer with a custom admin, interview for Django and Postgres. Mixing those screens is how you get a rewrite proposal in week three.

Self-hosting at 44 percent is also a staffing fact. Those teams need people who can patch an OS, not people who can quote a techempower graph. The survey’s unfashionable deploy is a hiring filter you can use without waiting for 2027’s report.

Forty percent planning to use async is a backlog, not a mandate. If your team is in that bucket, pick one endpoint that is actually waiting on IO and try it there. Converting the admin is how async projects die.

FastAPI can keep the stars. Django can keep the admin. The rewrite is a year. Pick accordingly.

Spread The Article

Share this guide

Send this article to your network or keep a copy of the direct link.

X Facebook LinkedIn Reddit Telegram

Discussion

Leave a comment

No comments yet

Be the first to start the conversation.