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.

Check out the results of the Django Developer Survey in 2021.

For what purposes do you mainly use Django?

Both for work and for my personal, educational, or side projects
Only for my personal, educational, or side projects
Only for work
66%17%17%

Which versions of Django do you use?>100%

2022
2021
55%/0%34%/0%47%/75%10%/30%13%/39%3%/3%

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%28%3%

How often do you upgrade Django in your projects?

44%14%30%5%7%

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%40%28%10%2%2%6%

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%17%16%16%8%1%27%

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%22%6%2%1%1%

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

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

85%80%50%50%48%33%26%25%17%16%11%10%3%3%1%5%

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%50%33%31%25%14%13%13%10%8%5%5%4%2%1%

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%

Django templates81%Jinja214%Other2%None13%

What test frameworks do you use?> 100%

41%36%31%21%10%6%5%3%3%2%1%1%26%

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

2022
2021
36%/37%32%/37%25%/28%16%/5%8%/10%6%/3%3%/0%1%/1%1%/1%4%/4%19%/20%

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%

2022
2021
62%/68%22%/15%13%/14%9%/12%6%/6%2%/3%2%/2%1%/2%1%/1%5%/4%17%/16%

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%28%28%18%17%17%16%16%16%15%
All results

Which async technologies do you use?> 100%

25%23%18%15%15%11%9%5%4%1%1%4%47%

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?

Yes
No
Not yet, but I plan to
46%29%25%

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%23%4%5%40%

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

A lot, or often22%Some, or sometimes28%A little, or hardly ever26%None, or never25%

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

43%29%21%19%3%8%23%

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%37%24%17%14%13%8%19%

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

81%27%14%13%12%10%3%1%4%

Languages and other web-frameworks

Is Python your main programming language?

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

75%67%49%39%25%15%13%12%12%9%8%3%3%7%3%

What is your primary programming language?> 100%

23%12%11%10%9%7%5%3%2%2%2%1%1%11%

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%29%25%25%24%8%8%4%4%3%
All results

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

83%5%2%2%1%1%1%5%

Resources

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

59%26%20%20%18%15%11%11%10%9%7%6%4%1%3%16%

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%

80%45%40%31%18%9%5%5%3%

Please think of the web resources you read or follow for Django, excluding the official Django channels> 100%

YouTube channels50%Blogs33%Podcasts33%Twitter handles16%Forums12%Other19%

Python Versions

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

2022
2021
58%/13%51%/60%36%/53%17%/31%8%/21%4%/6%5%/0%2%/2%

According to the official Python Developers Survey, Django developers prefer to use the newest Python versions more often than Python developers in general. This is particularly the case with the usage of version 3.9, which is 29 percentage points higher with Django (51%) than with Python in general (22%).

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

39%37%32%28%6%4%3%2%3%2%

Developers who visit python.org tend to upgrade Python to every stable release more often than those who use OS-provided Python.

Developers located in Asia prefer using python.org twice as much as developers in general (27% vs 13%), while those located in Europe choose OS-provided Python 22 percentage points more (55% vs. 33%).

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

2022
2021
55%/44%43%/55%42%/40%21%/23%19%/13%7%/8%2%/3%3%/2%3%/3%

There has been a 6 percentage point rise in Poetry’s share from 13% in 2021 to 19% by the end of 2022.

What code formatters do you use?> 100%

2022
2021
51%/35%28%/18%23%/30%19%/0%1%/2%4%/4%28%/35%

The share of Black code formatter has significantly increased (by 16 percentage points) when compared with last year’s survey results.

What linters do you use?> 100%

2022
2021
43%/40%41%/26%33%/37%18%/14%3%/4%23%/26%

Which top 5 Python packages do you rely on?> 100%

55%51%40%36%35%32%31%19%14%14%14%12%11%11%5%2%2%2%2%6%5%

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.

Cloud

What cloud hosting platform do you use?> 100%

44%23%21%12%10%8%7%3%1%1%13%20%

With 56% share, AWS is usually the choice for developers from North and Central America.

Heroku is leading in Africa with 39% share, whereas AWS is a close second with 37%.

Furthermore, PythonAnywhere has higher demand in Africa and the Middle East with 20% share, and in Asia it has 19%. In all other parts of the world it has less than 10%.

How do you develop locally for the cloud?> 100%

63%44%8%7%7%2%2%10%

How do you run code in the cloud (in a production environment)?>100

54%33%23%9%2%15%

Development Tools

What is your primary text editor or IDE?> 100%

42%38%7%5%2%2%1%3%

What is your primary local operating system?> 100%

What Continuous Integration (CI) system(s) do you use?> 100%

2022
2021
42%/35%28%/27%10%/12%8%/8%2%/6%1%/1%6%/7%28%/32%

Since last year, the share of GitHub Actions has increased slightly by 7 percentage points, while Jenkins and Travis CI have lost 2 and 4 percentage points respectively.

What configuration management tools do you use?> 100%

19%8%6%2%2%1%5%65%

Containers

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

What do you run inside Docker containers?>100

91%61%22%2%

The use of Docker containers for backing services and utilities is lower for individuals and small companies with fewer than 10 people.

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

71%61%15%9%4%0%

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

68%40%35%12%6%

How do you debug your application?> 100%

72%56%40%2%

45% of developers with 11 or more years of experience debug their applications using shell / pdb, while only 20% of developers with less than 1 year’s experience and 30% of developers with 1–2 years’ experience do so.

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

No
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
30%26%22%22%

Demographics

What is your current employment status?>100

65%11%9%6%4%3%1%1%

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.

What is your job role?>100

79%18%17%12%7%6%4%4%3%3%8%

What is your professional coding experience?> 100%

2022
2021
9%/11%15%/17%22%/24%21%/19%33%/29%

This year’s demographics show that the 2022 survey respondents are slightly more experienced than last year’s.

How long have you been programming in Python?> 100%

2022
2021
6%/8%16%/21%30%/31%28%/24%19%/16%

What is your age range?

2%4%30%37%19%6%2%1%

Which region are you based in?

45%19%18%7%7%3%2%1%1%

What is your country or region?

15%7%6%5%5%3%3%3%3%3%2%2%2%2%2%1%
All results

Company

What is your company size?

18%20%20%20%5%5%8%3%

Within your company, what team size do you work on?

9%67%14%6%2%1%

Django developers tend to work in small teams.

How many projects do you work on?

I work on many different projects
I work on one main project and several side projects
I only work on one project
46%40%14%

The more experienced the developer, the more projects they tend to have. Developers with less experience generally work on one main project with several side projects, or even on a single main project.

Do you work in a team or independently?

I work in a team
I work on my own project independently
I work as an external consultant or trainer
67%29%4%

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

38%8%7%5%3%3%3%3%3%2%2%2%2%2%1%1%1%1%1%1%1%1%10%

Methodology and Raw Data

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.

Before dissecting the data, please note the following important information:

The data set includes responses only from official Django Software Foundation channels. After filtering out duplicate and unreliable responses, the data set includes around 4,900 responses collected in September – October, 2022 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.

Download the Raw Data

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.