This is the official annual Django Developers Survey, conducted as a collaborative effort between the Django Software Foundation and JetBrains. In August 2021, more than 7,000 Django users and enthusiasts from almost 140 countries and regions took the survey to help us get a better idea of the current state of the framework and the ecosystem around it.
Check out the results of the Django Developers Survey 2022.
Only 15% of Django developers use it ONLY for work, while two thirds use it both for work and for personal, educational, or side projects.
Those who work alone are more likely to use Django for personal purposes.
According to the Python Developers Survey 2020, Django is the second most popular Python Framework.
It is in ninth place among all existing web frameworks based on the latest Stackoverflow survey.
24% of respondents still use Django 2.2, the previous long-term support (LTS) release before 3.2. You can find a list of supported versions here.
Even though v3.2 is used by three-fourths of Django developers, most of them use multiple versions.
Almost 30% of respondents use Django LTS for their new projects.
Developers usually prefer to upgrade Django either with every stable release (44%) or only with a new LTS (30%).
PostgreSQL is the most popular backend database, with a share of 77% (as the best-suited database for Django), while SQLite is the second most popular, with a share of 41%.
Redis is the most popular cache backend, with Memcached coming in second (47% vs 18%). However, almost half of all respondents (43%) do not use any cache backend.
Memcached has existing native support and Redis support was added to Django 4.0, in large part based on last year’s Django survey results.
Developers with 11+ years of experience are the likeliest to use a cache backend. Those who tend not to use a cache backend include less experienced developers, freelancers, students, and the self-employed.
Only 28% of all respondents use GeoDjango, and most of them choose PostGIS as their backend.
The top three test frameworks for Django are pytest, unittest, and coverage.
The two most popular JS frameworks are jQuery and React (both 37%), with Vue trailing them by 9 percentage points.
Interestingly, those who use Django for both work and personal purposes are more likely to choose Vue than those who use Django only for work (31% vs 21%), while for other frameworks the difference is much less pronounced.
36% of developers use React only for work, while 26% use it for personal or educational purposes.
Almost 70% of Django users use one or more Bootstrap CSS frameworks. Less experienced coders are more likely to use Pure CSS than more experienced ones.
The more experienced the developer, the more likely they are to use django-debug-toolbar: it’s used by 12% of Django programmers with 1 year of experience but 40% of those with 11+ years.
89% of Django developers use Python as their main language.
75% of Django developers also use JavaScript, and 67% use HTML/CSS.
After Python, the second primary language among Django users is JavaScript. C/C++ is third, and most of its users are either students or veteran developers with 11+ years of experience.
The top 5 web frameworks used by Django developers are React.js, Flask, JQuery, Vue.js, and FastAPI. And quite often they are used together.
20% don’t follow Django news, though, and the majority of this group are beginners and developers with less than 1 year of experience.
More experienced developers prefer the Django News newsletter, Hacker News, RSS, and Twitter, while less experienced ones tend to use Stack Overflow and YouTube to follow Django development.
Top 5 YouTube channels:
Top 2 Twitter accounts:
The most popular forum:
3.9 and 3.8 are the most used Python versions among Django users.
Developers with 11+ years of experience use Python 2 at more than twice the rate of the rest (14% vs 6%).
Surprisingly, 13% selected Python 3.10, even though the survey was conducted in August 2021 but v3.10 was released later in October 2021.
People who use Django for personal or educational purposes, as well as specialists with less than 2 years’ experience, are more likely to upgrade their Python versions through Python.org or Anaconda.
The more experienced developers who use Django for work use specific tools more often, such as Docker containers and pyenv. OS-provided Python is widely used by all categories of developers.
Virtualenv is used by all categories of developers. Less experienced developers are more likely to choose Venv, while more experienced ones favor Docker.
Among mypy users, the top code formatters are Black and isort, but pylint users tend to go with autopep8.
The Black code formatter is used by more experienced developers, while autopep8 is more often the choice of less experienced ones. For Python, autopep8 seems to be the default choice. Django has committed to adding official Black support in the future.
91% of Flake8 users also use PostgreSQL. pylint is more popular among less experienced developers, while the more experienced ones tend to opt for Flake8.
Psycopg2 and Requests are the most used Python packages among Django users, each with 54%.
Requests is a popular platform among all Python developers, while Psycopg2 seems to be Django-specific.
Pillow, a module for working with images, is popular with less experienced developers.
AWS is the most used cloud hosting platform.
There are more less-experienced developers among users of Heroku and PythonAnywhere than among users of other platforms.
Contrasting these results with those of the Python Developers Survey, Google Cloud Platform is used by 33% of Python developers (second most popular), but only by a quarter of Django developers (fourth). This trend is even more pronounced for Microsoft Azure, which is used by 21% of Python programmers but only 8% of Django programmers.
VS Code and PyCharm are the two most popular IDEs among Django developers.
Among less experienced developers VSCode is more popular, PyCharm seems to be preferred by veterans a bit more, and the two IDEs’ shares are about equal for those with 3–5 years of experience.
42% of Django developers use Linux, more than any other OS. Windows and macOS are virtually tied with 29% and 28%, respectively.
In the Other category, respondents most often wrote in Bitbucket or Azure DevOps.
Only 32% of Django users use configuration management tools. “Custom solution” took second place with a 7% share.
62% of Django developers use containers.
The more experienced developers tend to debug applications with shell/pdb more often.
Redis is the most popular cache backend, with Memcached coming in second (47% vs 18%). However, almost half of all respondents (43%) do not use any cache backend.
Memcached has existing native support and Redis support was added to Django 4.0, in large part based on last year’s Django survey results.
Developers with 11+ years of experience are the likeliest to use a cache backend. Those who tend not to use a cache backend include less experienced developers, freelancers, students, and the self-employed.
Django users freelance at twice the rate of developers in general: the share of freelancers in this survey is 11%, compared with just 5% in the total developer ecosystem and 6% in the Python Developers Survey.
Django developers tend to work in small teams.
Want to dig further into the data? Download the anonymized survey responses and see what you can learn! Share your findings and insights by mentioning @jetbrains and @djangoproject on Twitter with the hashtag #djangosurvey.
The data set includes responses only from official Django Software Foundation channels. After filtering out duplicate and unreliable responses, the data set includes more than 7,000 responses collected in August 2021 through the promotion of the survey on official Django channels, such as djangoproject.com and the DSF's Twitter account. In order to prevent the survey from being slanted in favor of any specific tool or technology, no product-, service-, or vendor-related channels were used to collect responses.
The data are anonymized, with no personal information or geolocation details. Moreover, to prevent the identification of any individual respondents by their verbatim comments, all open-ended fields have been deleted.
To help you better understand the logic of the survey, we are sharing the data set, the survey questions, and all the survey logic.
Once again, on behalf of both the Django Software Foundation and JetBrains, we’d like to thank everyone who took part in this survey.
If you have any questions or suggestions, please contact us at surveys@jetbrains.com.