JetBrains logo

Django Developers Survey 2023

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

18%

Only for work

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
075%

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?

64%

The latest stable release

32%

The latest LTS release

4%

Other

How do you create new Django projects?100+

71%

Start from scratch

17%

Using Cookiecutter Django

13%

Using custom-made tool for this

7%

Using djangox

7%

Using Django Material Kit

7%

Using django-react-boilerplate

10%

Other

Jeff Triplett
Partner at REVSYS, former Director and Vice Chair of the Python Software Foundation

I suspect most people default to `pip install django`, which speaks to Django's release stability.

Mastodon, X (formerly Twitter)

How often do you upgrade Django in your projects?

40%

Every stable release

32%

LTS only

15%

Every monthly point release

5%

I use an unsupported version of Django

8%

Other

Technologies and frameworks

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

76%

PostgreSQL

43%

SQLite

30%

MySQL

10%

MariaDB

8%

MongoDB

6%

Oracle

4%

Microsoft SQL Server

4%

Other

1%

None / I’m not sure

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

54%

Redis

20%

Memcached

18%

Local Memory

16%

Database

8%

Filesystem

3%

Other

24%

None

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

66%

None / I’m not sure

24%

PostGIS

10%

MySQL

4%

Oracle

4%

SpatiaLite

2%

Other

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

77%

admin

74%

auth

47%

postgres

46%

sessions

45%

staticfiles

32%

messages

25%

contenttypes

25%

redirects

17%

humanize

16%

sites

What are your 3 favorite core components?100+

69%

Models

48%

Admin

33%

Authentication

29%

Migrations

24%

Views

14%

Django management commands

14%

Forms

13%

Templates

9%

3rd party ecosystem

8%

URLs

What template engine do you use?100+

78

Django templates

16

Jinja2

3

Other

13

None

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

51%

Functional testing

28%

Regression testing

18%

QA testing

17%

Performance testing

16%

Security testing

14%

Production testing

13%

Usability testing

13%

Acceptance testing

11%

Smoke testing

10%

Load testing

What test frameworks do you use?100+

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.

Which async technologies do you use?100+

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.

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
0%68%

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
0%37%
Sarah Boyce
Django Fellow

Using Django as an API and a JavaScript framework to create a single-page application has been the standard for a modern web user experience, but it seems that htmx is challenging that.

Mastodon, LinkedIn

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

49%

60%

djangorestframework

27%

28%

django-debug-toolbar

27%

28%

django-celery

18%

17%

django-allauth

18%

18%

django-cors-headers

What do you use Django for?100+

73%

Full-stack

61%

REST API using DRF

4%

Other

Sarah Boyce
Django Fellow

django-ninja is an async, typed API framework for Django and might be the biggest gainer in popularity since last year’s survey. Taking some of the market share of djangorestframework. I know a lot of people who really love django-ninja.

Mastodon, LinkedIn

Development tools

What is your primary text editor or IDE?100+

47%

VS Code

29%

PyCharm

7%

Vim

3%

Sublime Text

3%

Emacs

2%

Notepad++

2%

Nano

2%

Atom

4%

Other

What is your primary local operating system?100+

36%

Linux

32%

macOS

19%

Windows with WSL

10%

Windows without WSL

2%

BSD

2%

Other

Flavio Adamo
Proud co-creator of codeishot.com

As a Django developer, PyCharm was one of the best investments I’ve ever made. I was skeptical at first, but after experiencing it, I can’t imagine going back.

X (formerly Twitter)

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
045%

What configuration management tools do you use?100+

20%

Ansible

10%

Custom solution

6%

Fabric

4%

Puppet

4%

Chef

3%

Salt

3%

Other

62%

None

Vuyisile Ndlovu
DevOps Engineer

GitHub Actions has steadily gained market share in recent years and is integrated with the GitHub environment. As GitHub is one of the most popular source code management tools available, the integration with GitHub Actions makes it convenient for developers to set up and manage their CI/CD workflows directly within the GitHub environment.

LinkedIn, X (formerly Twitter)

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

20%

Terraform

9%

AWS CloudFormation

5%

Pulumi

4%

Crossplane

4%

Google Cloud Deployment Manager

4%

Azure Resource Manager

4%

Vagrant

4%

Puppet

3%

Saltstack

3%

Brainboard Ansible

Joseph Anyetei Sowah
DevOps Engineer

I know Terraform is a master in this market, but Pulumi and open-source IaC tools are also doing just fine. The beauty of using Pulumi is you can use your favorite programming language, in my case Python, to build infrastructure.

LinkedIn, X (formerly Twitter)

Syntax and documentation

Do you currently use type hints in your Django code?

Which type checker do you use?100+

34%

Mypy

29%

Pyright / Pylance

7%

Pytype

4%

Pyre

6%

Other

33%

None

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

28%

Some, or sometimes

26%

A little, or hardly ever

23%

A lot, or often

23%

None, or never

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

40%

readme

27%

Self-hosted

23%

GitHub Pages

20%

Read the Docs

11%

Atlassian Confluence

7%

MkDocs

4%

GitBook

8%

Other

17%

We don’t publish documentation

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

67%

No explicitly adopted information architecture

28%

Formal documentation review

18%

Topic-based structure

17%

Code will not be merged without relevant documentation

13%

Explicit style guide for contributors

12%

Inclusive language

9%

Diátaxis

7%

DITA

4%

Other information architecture

5%

Other

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

57%

Markdown

37%

Swagger / OpenAPI

23%

Sphinx

17%

rST

16%

Postman

16%

wiki

4%

AsciiDoc

4%

Other

16%

None

Languages and frameworks

Is Python your main programming language?

83%

Yes

13%

No, I use Python as a secondary language

3%

Other

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

68%

JavaScript

65%

HTML / CSS

47%

SQL

39%

Bash/Shell

28%

TypeScript

20%

C / C++

14%

PHP

14%

Java

14%

Go

10%

Rust

What is your main programming language?100+

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

12%

JavaScript

10%

TypeScript

10%

Java

8%

C / C++

8%

PHP

6%

Go

6%

C#

5%

SQL

5%

Rust

4%

Ruby

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

31%

React.js

27%

Flask

25%

FastAPI

22%

JQuery

21%

Vue.js

9%

Express

9%

Angular

6%

Laravel

6%

ASP.NET Core

6%

Spring

Which web framework do you use the most?100+

74%

Django

4%

React.js

2%

Vue.js