This report is based on the third annual Django Developers Survey, conducted in September – October 2023 as a collaborative effort between the Django Software Foundation and PyCharm. To help us get a better idea of the current state of the framework and the ecosystem around it, around 4,000 Django users and enthusiasts from around the world took the survey.
Both for work and for my personal, educational, or side projects
Only for my personal, educational, or side projects
Only for work
2021 | 2022 | 2023 | |
---|---|---|---|
– | – | 69% | 4.2 |
– | 55% | 25% | 4.1 |
– | 34% | 16% | 4.0 |
75% | 47% | 28% | 3.2 |
30% | 10% | 5% | 3.1 |
39% | 13% | 8% | 3.0 or lower |
3% | 3% | 4% | I’m not sure |
When the survey was conducted in September – October 2023, 4.2, 4.1 and 3.2 were the only versions actively supported by Django. Versions 4.0, 3.1 and 3.0 and below no longer had security support.
The latest stable release
The latest LTS release
Other
Every stable release
LTS only
Every monthly point release
I use an unsupported version of Django
Other
Django templates
Jinja2
Other
None
42%
41%
pytest
33%
31%
pytest-django
31%
36%
unittest (manage.py test)
24%
21%
coverage
15%
10%
Selenium
Since last year, Selenium and Playwright have grown in popularity from 10% to 15% and from 3% to 9%, respectively. Playwright also has a nice pytest plugin and can be run in Docker containers.
28%
25%
ASGI
25%
23%
asyncio
21%
18%
FastAPI
19%
15%
Uvicorn
18%
15%
Channels
Although Django has great built-in support for writing and deploying async views under ASGI, FastAPI is still more popular among Django developers. This might change as Django's async support continues to mature in the coming releases.
2021 | 2022 | 2023 | |
---|---|---|---|
68% | 62% | 56% | Bootstrap |
15% | 22% | 29% | Tailwind CSS |
14% | 13% | 18% | Pure CSS |
12% | 9% | 11% | Material Design/Lite |
6% | 6% | 8% | Bulma |
3% | 2% | 4% | Semantic UI |
2% | 1% | 5% | Foundation |
2% | 2% | 3% | UI Kit |
1% | 1% | 3% | Skeleton |
0% | 0% | 2% | Susy |
4% | 5% | 5% | Other |
16% | 17% | 15% | None |
For the third year in a row, we continue to see a downward trend for Bootstrap and significant growth for Tailwind CSS, whose popularity has doubled in the last two years. Read this article from the package creator Tim Kamanin if you’d like to get started using Tailwind CSS in Django.
2021 | 2022 | 2023 | |
---|---|---|---|
37% | 36% | 35% | React |
37% | 32% | 31% | jQuery |
5% | 16% | 23% | htmx |
28% | 25% | 19% | Vue |
10% | 8% | 10% | Angular |
3% | 6% | 10% | Alpine.js |
1% | 1% | 4% | Backbone |
– | 3% | 4% | Svelte |
1% | 1% | 3% | Ember |
0% | 0% | 3% | Mako |
3% | 4% | 4% | Other |
20% | 19% | 18% | None |
49%
60%
djangorestframework
27%
28%
django-debug-toolbar
27%
28%
django-celery
18%
17%
django-allauth
18%
18%
django-cors-headers
Full-stack
REST API using DRF
Other
2021 | 2022 | 2023 | |
---|---|---|---|
35% | 42% | 45% | GitHub Actions |
27% | 28% | 25% | GitLab CI |
12% | 10% | 11% | Jenkins/Hudson |
8% | 8% | 5% | CircleCI |
– | – | 5% | AWS CodePipeline |
– | – | 5% | Azure Pipelines |
6% | 2% | 4% | Travis CI |
– | – | 4% | Google Cloud Build |
– | – | 3% | Buildkite |
1% | 1% | 2% | TeamCity |
7% | 6% | 4% | Other |
32% | 28% | 25% | None |
Some, or sometimes
A little, or hardly ever
A lot, or often
None, or never
Yes
No, I use Python as a secondary language
Other
54%
59%
djangoproject.com
24%
26%
Stack Overflow
21%
18%
YouTube
18%
20%
Reddit (r/django)
17%
10%
Django Forum
17%
15%
Django News Newsletter
17%
16%
I don’t follow Django development
14%
20%
X (formerly Twitter)
12%
11%
Friends
12%
11%
Hacker News
In 2023, Django started actively managing a page on Mastodon. The biggest share of Mastodon users are in North America. Meanwhile, the share of X (formerly Twitter) users slightly decreased.
Shares of Django Forum have increased from 10% to 17% since last year, and Django Discord has increased in popularity as well. djangoproject.com encourages users to go to these two channels for community and support.
71%
80%
djangoproject.com
41%
–
StackOverflow
38%
40%
YouTube
37%
45%
Blogs
26% of developers are already using newly emerged AI tools to learn Django.
65%
–
3.11
46%
58%
3.10
29%
51%
3.9
20%
36%
3.8
8%
17%
3.7
2021 | 2022 | 2023 | |
---|---|---|---|
44% | 55% | 52% | venv |
40% | 42% | 40% | Docker |
55% | 43% | 34% | Virtualenv |
13% | 19% | 21% | Poetry |
23% | 21% | 19% | Pipenv |
8% | 7% | 10% | Conda |
3% | 2% | 3% | Vagrant / virtual machines |
2% | 3% | 3% | Other |
3% | 3% | 5% | None |
45%
55%
Psycopg2
44%
51%
Requests
34%
40%
Gunicorn
32%
36%
Celery
30%
32%
pytest
Support for psycopg 3.1.8+ was added in Django 4.2 and support for psycopg2 is likely to be deprecated and removed at some point in the future.
2021 | 2022 | 2023 | |
---|---|---|---|
26% | 41% | 42% | Black |
40% | 43% | 37% | Flake8 |
37% | 33% | 29% | pylint |
14% | 18% | 20% | mypy |
4% | 3% | 11% | Other |
26% | 23% | 21% | None |
2021 | 2022 | 2023 | |
---|---|---|---|
43% | 44% | 39% | AWS |
25% | 23% | 23% | DigitalOcean |
13% | 12% | 17% | Google Cloud Platform |
27% | 21% | 16% | Heroku |
11% | 10% | 13% | PythonAnywhere |
8% | 8% | 11% | Microsoft Azure |
6% | 7% | 9% | Linode |
1% | 1% | 5% | OpenStack |
– | 3% | 5% | Fly.io |
1% | 1% | 4% | OpenShift |
0% | 0% | 4% | Rackspace |
11% | 13% | 17% | Other |
19% | 20% | 16% | None |
After Heroku eliminated its free product plans, its share of users dropped from 27% in 2021 to only 16% in 2023.
I use containers during development
The application I build runs in containers in production
Containers are used in the CI/CD process
No / I’m not sure
I use containers for another purpose
Application code that I develop or that my team develops
Backing services that my code connects to
Utilities I use during development
Other
Inside a virtualenv
Inside a container, on my computer
Using the system interpreter on my computer
Inside containers, on a different computer
On a different computer outside of containers
Other
Using print or log statements
Using my IDE
Using shell / pdb
Other
I only use log statements
I frequently use a debugger on my application running remotely or in containers
I've attached a debugger once or twice
No
I work in a team
I work on my own project independently
I work as an external consultant or trainer
I work on many different projects
I work on one main project and several side projects
I only work on one project
18–20
21–29
30–39
40–49
50–59
60 or older
I prefer not to answer
Last year, DjangoCon Africa was held for the first time.