Web Development

The State of Django 2025

State of Django 2025

Welcome to the highlights and key takeaways from the recently released Django Developers Survey. Now in its fourth year, this annual collaboration between the Django Software Foundation and PyCharm tabulates responses from over 4,600 Django developers worldwide. If you work with Python and the web more broadly, there’s a lot to learn from what’s happening in the vibrant Django ecosystem.

My name is Will Vincent, and I’m a longtime contributor to the Django community as well as a Developer Advocate at PyCharm. Over the last six years, I’ve co-written the weekly Django News newsletter alongside Jeff Triplett and co-hosted the Django Chat podcast with Carlton Gibson; in both venues, we find a seemingly inexhaustible supply of topics, packages, and people to discuss.

Django is celebrating its 20th anniversary this year and is settling in quite nicely, thank you, to its mature status. Backward-breaking changes are exceedingly rare, even as new feature versions (5.2, 6.0, 6.1, etc.) are released every eight months, double-digit PRs are merged into core each week, and the global community has never been stronger.

This thriving ecosystem exists thanks to the ongoing work of Django’s maintainers, reviewers, and mentors. Each year, PyCharm joins forces with the Django Software Foundation to support that work through the Annual Django Fundraiser.

Until November 9, 2025, you can get 30% off PyCharm Professional, and JetBrains will donate all proceeds to the DSF – directly funding the people who make Django stronger with every release. Over the past nine years, the campaign has raised more than $330,000 for Django’s continued growth and stability.

Get PyCharm Pro with 30 % Off & Support Django

Build with Django. Build its future.

One final point before we dive into the results: despite being used by millions of developers and some of the world’s largest companies, Django itself remains largely unaware of its real-world usage. By design, there is no analytics tracking on the official Django website and no concrete metric of downloads aside from the admittedly imperfect measure of PyPI Stats.

This survey has become one of, if not the, primary way for the community to understand current Django usage. In recent years, survey results led to the Redis cache backend receiving official support in Django 4.0. More recently, MongoDB saw solid usage numbers and prioritized releasing an official django-mongodb-backend package for the first time this year.

In short, this survey is essential and provides the best glimpse any of us have into the actual usage trends and future feature desires of the wider Django community.

Key Django trends in 2025

Let’s take a look at the notable and sometimes surprising trends in this year’s Django survey.

Key Django trends in 2025

HTMX + Alpine.js Are Ascendant

React and jQuery remain the two most popular JavaScript frameworks to use with Django, but momentum continues to build for HTMX and Alpine.js. These technologies favor a server-rendered template approach with interactivity sprinkled in.

Twenty years ago, when Django was first released, single-page applications (SPAs) were rare. Most websites relied on a hypermedia approach of server-rendered templates; the introduction of jQuery in 2006 provided a way to sprinkle in JavaScript-powered interactivity without needing to become a JavaScript expert.

Fast forward ten years, and many web frameworks, including Django, were being used to power RESTful API backends consumed by dedicated JavaScript frontends, such as React, Angular, and Vue.

But since the Django Survey began in 2021, the pendulum has shifted back towards server-side templates. HTMX has grown from 5% in 2021 to 24%, while Alpine.js has grown from 3% to 14% usage. At the same time, React and jQuery have consistently declined from 37% in 2021 to 32% for React and 26% for jQuery. It is interesting to note that Vue, the third-most popular JavaScript framework, has also declined over this time period from 28% to 17%.

Most popular JavaScript frameworks used with Django

The forthcoming Django 6.0 release adds official support for template partials, further cementing the HTMX/Alpine.js combination as a viable alternative for developers. The release of this new feature also speaks to one of the strengths of the Django ecosystem, which is the thousands of third-party packages available. Some eventually make their way into core, as this one did, first starting as django-template-partials by Carlton Gibson and formally brought into core with the help of Farhan Ali Raza during his Google Summer of Code program this year.

What does this all mean for Django? It speaks to Django’s maturity and continued evolution that it can support multiple frontend patterns in web development: API backends via django-rest-framework or django-ninja for developers who prefer a SPA architecture, and also server-rendered templates enhanced by HTMX, Alpine.js, and soon template partials. Django continues to iterate to meet the needs of modern web developers, while retaining the stability and security that make it so indispensable to millions of existing users.

AI Usage is Growing

A majority of respondents (79%) still rely on official documentation as their primary learning resource, followed by Stack Overflow (39%), and both AI tools and YouTube (38%). For AI tools, this is a remarkable rise considering the category didn’t even exist several years ago. It is also worth noting that blogs (33%) and books (22%) now trail well behind.

Resources to learn Django

For Django development, 69% reported using ChatGPT, followed by 34% for GitHub Copilot, 15% for Anthropic Claude, and 9% for JetBrains AI Assistant. The most popular tasks for AI were autocomplete (56%), generating code (51%), and writing boilerplate code (44%). We will likely see even greater rates of adoption in this area in next year’s survey results.

Anecdotally, many hallway conversations at DjangoCon Europe and DjangoCon US this year centered on AI tooling. The options available — chat, autocomplete, and agents — are all relatively new, and there is yet to be a community consensus on how to best utilize them for Django development, despite ongoing discussions around AI Agent Rules and related topics on the Django Forum.

Django Developers are Experienced

In marked contrast to the Python Survey released earlier this year, which showed exactly half (50%) of respondents had less than two years of professional experience, Django developers are a very experienced bunch: 30% of respondents reporting 11+ years of experience, followed by 26% for 6-10 years, and 21% for 3-5 years. That means that 77%–or 3 out of 4–Django developers have at least three years of professional coding experience.

How experienced are Django developers?

An overwhelming majority of respondents (82%) use Django professionally, in addition to personal usage. Roughly half (51%) report using Django for backend APIs with Django REST Framework, while a full 80% perform full-stack development, no doubt enhanced by the growing server-rendered templating options.

Strong Support for Type Hints

Perhaps it should come as no surprise, given the relative experience of respondents to this survey, that there was overwhelming support for Type Hints: 63% reported already using type hints in their Django code, with another 17% planning to, resulting in a remarkable 80% overall rate.

Type hints usage stats

When asked if type hints should be added to Django core — an ongoing point of discussion on the Django Steering Council — 84% said yes, with 45% indicating a willingness to contribute themselves.

Django, like Python, has long strived to be both welcoming to newcomers while also providing the more advanced tools experienced programmers often prefer, such as type hints.

PostgreSQL Paces the Field

When it comes to favored database backend, it is no surprise that those with built-in support reign supreme, starting with PostgreSQL at 76%, followed by SQLite at 42%, MySQL at 27%, and MariaDB at 9%. These percentages have remained remarkably consistent over the past four years.

Most popular databases used for Django projects

Oracle continues to enjoy relative growth in usage, climbing from 2% in 2021 and 2022 to 10% in 2023 and 9% in 2024. Newer entrants, such as MongoDB, also deserve attention: even without official support, it managed an 8% share in 2023, indicating the desire for NoSQL options powered by Django. This survey result was a key component in the Mongo team’s decision to invest in an official Django MongoDB backend, which was fully released this year.

It will be interesting to track database support in the coming years, given a resurgence in interest around using SQLite in production — not just for local development — as well as NoSQL options from MongoDB, and to monitor whether Oracle continues to maintain its usage share.

Popular Third-Party Packages

When asked for their top five favorite third-party Django packages, there was a very long tail of responses, reflecting both the depth and breadth of packages in the Django ecosystem.  Resources such as djangopackages.org, the awesome-django repo, and the new Django Ecosystem page highlight that Django’s secret sauce is its ecosystem of third-party apps and add-ons.

Notably, Django REST Framework was the runaway favorite with 49% followed by `django-debug-toolbar` at 27%, `django-celery` at 26%, `django-cors-headers` at 19%, `django-filter` at 18%, and `django-allauth` at 18%. Many different packages received support after these top few, again speaking to the breadth of options available to Django developers.

The Latest Django Version Reigns Supreme

An overwhelming majority of respondents (75%) report being on the latest version of Django, which is impressive given the cadence of feature releases, which occur approximately every eight months. For example, Django 5.1 was released in August 2024, Django 5.2 in April 2025, and Django 6.0 will come out in December 2025.

Which version of Django are the most used?

Despite the regular release schedule, Django takes great efforts to remain stable and has a well-established depreciation and removal policy; breaking changes are rare. 

It is also worth noting that certain feature releases — historically those ending in .2, such as 3.2, 4.2, and 5.2 — are designed as Long-Term Support (LTS) releases, receiving all security and data loss fixes for three years.

Although updating every LTS release is one option, it is heartening to see so many Django developers opting for the latest release, as this ensures you are receiving the latest and greatest version of the framework. It is also far easier to update incrementally, with every feature release, rather than waiting a few years in between.

pytest Prevails

In the words of Django co-creator Jacob Kaplan-Moss, “Code without tests is broken by design.” Django has its own testing framework built on top of Python’s unittest library, which provides extra features tailored for web applications. Many developers also use `pytest`–similarly popular in the broader Python community–for even more testing help.

The survey showed that `pytest` remains the most popular option for testing Django projects, at 39%, followed closely by `unittest`, at 33%. Two Django-specific plugins, `pytest-django` and `django-test-plus`, also received strong support. The `coverage` library was used by 21% of developers; it provides a useful way to measure the test coverage present in a project. Further down the list were end-to-end testing options, such as Selenium and Playwright.

Most popular testing options for Django projects

These results are consistent with others in the Python ecosystem: `unittest` and `pytest` are, by far, the two dominant ways to test Python libraries, so it is no surprise to see both rank so highly here.

Actionable Ideas

Now that you’ve read my take on the highlights from this year’s results, what are the next steps? First, know that Django is a mature, boring technology by design; you can carry on being productive with your work, updating to the latest versions of Python and Django, and have confidence that the rug won’t be pulled out from under you with breaking changes.

But the broader Python and open-source ecosystems continue to innovate and mutate, and there are definitely productivity gains to be had if you experiment a little. In that spirit, here are four actionable ideas you can pursue:

Action 1: Try out HTMX

If you haven’t yet taken the time to find out what the excitement is about, head over to the Examples section on the HTMX website to see common UI improvements. It is almost as easy as copy and paste for many interactive elements; there’s no need to fire up a dedicated JavaScript framework to achieve similar results.

Action 2: Experiment with AI

The momentum is clearly swinging towards some flavor of AI tools becoming part of the standard Django developer workflow, although there is no clear consensus on what exactly that entails. 

On one end of the spectrum are developers who want minimal to no assistance: catch typos and obvious language errors, nothing else, thank you. A step up are autocomplete options of various degrees, followed by chat-assisted programming, which includes either code snippets or entire codebases, and then asks the LLM questions about it. The final frontier, at the moment, is agents that can take a prompt and attempt to solve it on their own. 

Most Django developers are somewhere in the model, experimenting with these new AI tools, but not fully sold. As the tools and the IDE integrations improve over the next year, it will be interesting to see what next year’s survey respondents report in terms of their AI usage.

Action 3: Update to the Latest Version of Django 

The best way to take advantage of all that Django and Python have to offer is to be on the latest release. Both are mature and rarely implement breaking changes, so this has never been easier. In production codebases with tests, updates should be as straightforward as updating the version number, running the test suite, and fixing any errors that emerge.

Staying current is like performing maintenance on your car: much easier to do a bit every so often rather than wait a few years before something breaks. It also means you are on the most secure and performant version of your tools.

Action 4: Stay Informed of the Django Ecosystem

Django is a batteries-included framework and ecosystem: there is a lot going on. This can feel overwhelming at times, but the good news is that there are resources in whatever medium you prefer to keep you informed, from the official Django website to podcasts, newsletters, conferences, and more. The recently launched Django ecosystem page is a great starting point. 

Interested in learning more? Check out the complete Django Developers Survey Results here.

image description