JetBrains logo

Django Developers Survey 2022

This is the second annual Django Developers Survey, conducted September – October, 2022, as a collaborative effort between the Django Software Foundation and JetBrains. To help us get a better idea of the current state of the framework and the ecosystem around it, 4,900 Django users and enthusiasts from 248 countries and regions took the survey.

For the latest findings, go to the 2023 Django Developer Survey, or check out the initial 2021 Django Developer Survey.

For what purposes do you mainly use Django?

Which versions of Django do you use?>100%

55%

0%

4.1

34%

0%

4.0

47%

75%

3.2

10%

30%

3.1

13%

39%

3.0 or lower

The majority of users migrated to the latest version 4.1 but almost half of Django developers still rely on the 3.2 LTS version.

Django versions 3.1 and lower are used by experienced Python developers, while newcomers use only the newest versions.

For new projects, what version of Django do you use?

70%

The latest stable release

28%

The latest LTS release

3%

Other

How often do you upgrade Django in your projects?

44%

Every stable release

14%

Every monthly point release

30%

LTS only

5%

An unsupported version of Django

7%

Other

Django developers usually upgrade their projects with either every stable release (44%) or only with long-term support (LTS) (32%).

Technologies and frameworks

What database backend(s) do you use?> 100%

79%

PostgreSQL

40%

SQLite

28%

MySQL

10%

MariaDB

2%

Oracle

2%

None / I’m not sure

6%

Other

Django officially supports the following databases: PostgreSQL, SQLite, MySQL, MariaDB, and Oracle. Since last year’s survey, PostgreSQL has become even more popular, with shares increasing by 2 percentage points.

Only 6% of developers use databases that are not supported by Django. The database mentioned most often by these developers is MongoDB.

What cache backend do you use?> 100%

54%

Redis

17%

Local Memory

16%

Database

16%

Memcached

8%

Filesystem

1%

Other

27%

None

Practiced by more than half of Django developers, caching with Redis is the most popular.
Developers who use Redis as a cache backend use TypeScript more often than those who choose other caching methods.

PostgreSQL database users prefer Redis and Memcached.

Among SQLite users, the biggest share is Filesystem, with local memory being the second most popular.

What GeoDjango backend(s) do you use?>100%

72%

None / I’m not sure

22%

PostGIS

6%

MySQL

2%

SpatiaLite

1%

Oracle

1%

Other

The use of GeoDjango backend highly correlates with the choice of database backend.

What Django contrib apps do you find most useful?> 100%

85%

admin

80%

auth

50%

postgres

50%

sessions

48%

staticfiles

33%

messages

26%

contenttypes

25%

redirects

17%

humanize

16%

sites

11%

GeoDjango

10%

sitemap

3%

flatpages

3%

syndication

1%

Other

5%

None / I’m not sure

More than 80% of respondents chose admin or auth, which makes them the most popular contrib apps for the second year in a row.

What are your 3 favorite core components?> 100%

76%

Models

50%

Admin

33%

Authentication

31%

Migrations

25%

Views

14%

Django management commands

13%

Forms

13%

Templates

10%

Third-party ecosystem

8%

URLs

5%

Signals

5%

Testing

4%

Caching

2%

I’m not sure

1%

Other

The favorite core component among respondents is Models. It was chosen by 76% of Django users, which is 4 percentage points higher than the previous year.

What template engine do you use?> 100%

81%

Django templates

14%

Jinja2

2%

Other

13%

None

What test frameworks do you use?> 100%

41%

pytest

36%

unittest

31%

pytest-django

21%

coverage

10%

Selenium

6%

tox

5%

Cypress

3%

Playwright

3%

django-test-plus

2%

nose

1%

TestCafe

1%

Other

26%

None

What JavaScript framework(s) do you use?>100%

36%

37%

React

32%

37%

jQuery

25%

28%

Vue

16%

5%

htmx

8%

10%

Angular

Released in 2020, htmx is now getting more attention. The usage of this JavaScript framework has tripled since our previous survey in August 2021. Additionally, Alpine.js has doubled its share, although this value is still too small to make any specific conclusions.

Compared to last year's results, the share of jQuery decreased by 5 percentage points.

It’s interesting to note that frameworks that used to be leaders are beginning to lose their share to newly emerging ones.

What CSS framework(s) do you use?>100%

62%

68%

Bootstrap

22%

15%

Tailwind CSS

13%

14%

Pure CSS

9%

12%

Material Design/Lite

6%

6%

Bulma

Since last year, the share of Tailwind CSS has increased 7 percentage points, rising from 15% to 22%. Those who use Tailwind CSS tend to use JavaScript frameworks, such as Alpine.js, htmx, React, and Vue, more often than Bootstrap users. Bootstrap users use jQuery almost twice as often.

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

60%

djangorestframework

28%

django-celery

28%

django-debug-toolbar

18%

django-cors-headers

17%

django-filter

17%

django-allauth

16%

pytest-django

16%

django-redis

16%

django-extensions

15%

django-crispyforms

Which async technologies do you use?> 100%

25%

ASGI

23%

asyncio

18%

FastAPI

15%

Channels

15%

Uvicorn

11%

Django's async views

9%

Daphne

5%

asgiref

4%

Starlette

1%

Hypercorn

1%

Anyio

4%

Other

47%

None

Half of Django developers write asynchronous (async) views. However, whether or not respondents use async technologies does not necessarily correlate with their developer experience.

Check out more about Django asynchronous support here.

Syntax and Documentation

Do you currently use type hints in your Django code?

The more experienced developers use type hints significantly more often than those developers with less experience. Overall, 46% of Django developers use type hints.

What type checker do you use?>100%

35%

Mypy

23%

Pyright / Pylance

4%

Pytype

5%

Other

40%

None

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

22%

A lot, or often

28%

Some, or sometimes

26%

A little, or hardly ever

25%

None, or never

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

43%

Readme

29%

Self-hosted

21%

Read the Docs

19%

GitHub Pages

3%

GitBook

8%

Other

23%

We don’t publish documentation

Bigger teams are more likely to document software, such as on Github Pages which is mostly used by bigger teams.

Smaller teams publish documentation less often.

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

64%

Markdown

37%

Swagger

24%

Sphinx

17%

rST

14%

Postman

13%

wiki

8%

Other

19%

None

What principles do you adopt in the documentation for the software you’re involved in?>100%

81%

No explicitly adopted information architecture

27%

Formal documentation review

14%

Topic-based structure

13%

Code will not be merged without relevant documentation

12%

Explicit style guide for contributors

10%

Inclusive language

3%

Diátaxis

1%

DITA

4%

Other

Languages and other web-frameworks

Is Python your main programming language?

90%

Primary

10%

Secondary

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

75%

JavaScript

67%

HTML / CSS

49%

SQL

39%

Bash/Shell

25%

TypeScript

15%

C / C++

13%

Java

12%

PHP

12%

Go

9%

C#

8%

Rust

3%

Ruby

3%

R

7%

Other

3%

None

What is your primary programming language?> 100%

23%

JavaScript

12%

Java

11%

TypeScript

10%

PHP

9%

C / C++

7%

C#

5%

Go

3%

HTML / CSS

2%

Rust

2%

SQL

2%

Ruby

1%

Bash / Shell

1%

R

11%

Other

This question was only shown to those who chose Python as a secondary language.

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

33%

React.js

29%

Flask

25%

JQuery

25%

FastAPI

24%

Vue.js

8%

Express

8%

Angular

4%

Spring

4%

Laravel

3%

ASP.NET Core

Which web framework do you use the most?> 100%

83%

Django

5%

React.js

2%

Vue.js

2%

FastAPI

1%

Flask

1%

Angular

1%

Spring

5%

Other

Resources

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

59%

djangoproject.com

26%

Stack Overflow

20%

Reddit

20%

Twitter

18%

YouTube

15%

Django News Newsletter

11%

Hacker News

11%

Friends

10%

Django Forum

9%

Podcasts

7%

RSS

6%

Google Groups

4%

Discord

1%

IRC

3%

Other

16%

I don’t follow Django development

The biggest users of YouTube and Stack Overflow are developers who have worked for less than 2 years.

Those with 6 or more years of work experience almost never use YouTube for Django learning purposes. They typically read djangoproject.com and Django News.

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