Django Developers Survey 2023 Results

6 min read Original article ↗

JetBrains logo

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.

Check out the Django Developers Survey results: 2022, 2021.

Django usage

For what purposes do you mainly use Django?

64%

Both for work and for my personal, educational, or side projects

19%

Only for my personal, educational, or side projects

What versions of Django do you use?100+

202120222023
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.

What Django version do you use for new projects?

How do you create new Django projects?100+

Using Cookiecutter Django

Using custom-made tool for this

Using Django Material Kit

Using django-react-boilerplate

How often do you upgrade Django in your projects?

15%

Every monthly point release

5%

I use an unsupported version of Django

Technologies and frameworks

What database backend(s) do you use?100+

What cache backend(s) do you use?100+

What GeoDjango backend(s) do you use?100+

What Django contrib apps do you find most useful?100+

What are your 3 favorite core components?100+

Django management commands

What template engine do you use?100+

Which types of testing are used in your project?100+

What test frameworks do you use?100+

pytest

pytest-django

unittest (manage.py test)

coverage

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.

Which async technologies do you use?100+

ASGI

asyncio

FastAPI

Uvicorn

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.

What CSS framework(s) do you use?100+

202120222023
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.

What JavaScript framework(s) do you use?100+

202120222023
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

What are your 5 favorite third-party Django packages?100+

djangorestframework

django-debug-toolbar

django-celery

django-allauth

django-cors-headers

What do you use Django for?100+

Development tools

What is your primary text editor or IDE?100+

What is your primary local operating system?100+

What continuous integration systems do you use?100+

202120222023
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

What configuration management tools do you use?100+

What Infrastructure-as-Code (IaC) tools do you use?100+

Google Cloud Deployment Manager

Syntax and documentation

Do you currently use type hints in your Django code?

Which type checker do you use?100+

How much do you contribute to the documentation of the software you’re involved in developing?

26%

A little, or hardly ever

What do you use to host and publish documentation for the software you’re involved in developing?100+

We don’t publish documentation

What principles do you adopt in the documentation for the software you’re involved in developing?100+

No explicitly adopted information architecture

Formal documentation review

Code will not be merged without relevant documentation

Explicit style guide for contributors

Other information architecture

What systems and languages do you use to create and build documentation?100+

Languages and frameworks

Is Python your main programming language?

13%

No, I use Python as a secondary language

What other programming language(s) do you use in addition to Python?100+

What is your main programming language?100+

This question was shown only to those whose primary language isn't Python.

Other than Django, what web frameworks do you use?100+

Which web framework do you use the most?100+

Resources

Which of the following do you use to follow Django development?100+

djangoproject.com

Stack Overflow

YouTube

Reddit (r/django)

Django Forum

Django News Newsletter

I don’t follow Django development

X (formerly Twitter)

Friends

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.

Which of the following do you prefer to use to learn Django?100+

djangoproject.com

StackOverflow

YouTube

Blogs

26% of developers are already using newly emerged AI tools to learn Django.

Which of the following web resources do you read or follow for Django, excluding the official Django channels?100+

X (formerly Twitter) handles

Python versions

What version(s) of Python do you use?100+

What do you typically use to upgrade your Python version?100+

Automatic updates via a cloud provider

Someone else manages Python updates for me

Which of the following tools do you use to isolate Python environments?100+

202120222023
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

What code formatters do you use?100+

Which top 5 Python packages do you rely on?100+

Psycopg2

Requests

Gunicorn

Celery

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.

What linters do you use?100+

202120222023
26%41%42%Black
40%43%37%Flake8
37%33%29%pylint
14%18%20%mypy
4%3%11%Other
26%23%21%None

Cloud

What cloud hosting platform do you use?100+

202120222023
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.

How do you run code in the cloud?100+

On a platform-as-a-service

What container orchestration services do you use in production?100+

How do you develop locally for the cloud?100+

With a local system interpreter

In remote development environments

Directly in the production environment

Containers

Do you use Docker containers, or something similar?100+

49%

I use containers during development

43%

The application I build runs in containers in production

42%

Containers are used in the CI/CD process

3%

I use containers for another purpose

What do you run inside Docker containers?100+

During development, where do you run your code?100+

59%

Inside a container, on my computer

20%

Using the system interpreter on my computer

10%

Inside containers, on a different computer

9%

On a different computer outside of containers

How do you deploy code to remote containers during development?100+

I use continuous integration

I build the container image locally and then push the image

I transfer code to the host machine and build the container there

I connect to the Docker engine remotely

How do you debug your application?100+

67%

Using print or log statements

Do you debug your application on remote hosts, or in containers?100+

27%

I only use log statements

26%

I frequently use a debugger on my application running remotely or in containers

22%

I've attached a debugger once or twice

Demographics

What is your current employment status?

Fully employed by a company / organization

Partially employed by a company / organization

What is your job role?100+

Developer / Programmer / Software Engineer

Data Analyst / Data Engineer / Data Scientist

Instructor / Teacher / Tutor

What kind of activities are you focused on?100+

DevOps / System administration / Writing automation scripts

Software testing / Writing automated tests

Programming of web parsers / scrapers / crawlers

Multimedia applications development

What is your company size?

What is the size of the team you work in within your company?

Do you work in a team or independently?

How many projects do you work on?

Which of the following industries best describes your company’s business?100+

Information Technology / Software Development

Accounting / Finance / Insurance

Sales / Distribution / Business Development

Banking / Real Estate / Mortgage Financing

How many full years of professional coding experience do you have?

How long have you been programming in Python?

Could you tell us your age range?

Which region are you based in?

The Django community is growing, reaching more and more places around the world.

Last year, DjangoCon Africa was held for the first time.

What is your country or region?