Этот обзор основан на данных третьего ежегодного опроса Django-разработчиков, который команда PyCharm провела в сотрудничестве с Django Software Foundation в сентябре-октябре 2023 года. Около 4000 пользователей и поклонников Django со всего мира приняли участие в исследовании и помогли нам определить текущее состояние фреймворка и связанной с ним экосистемы.
Для работы, а также для личных, образовательных или не связанных с основной работой проектов
Только для личных, образовательных и не связанных с основной работой проектов
Только для работы
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 или более ранняя |
3% | 3% | 4% | Не знаю |
Во время проведения опроса в сентябре — октябре 2023 года, Django активно поддерживал только версии 4.2, 4.1 и 3.2. Поддержка безопасности для версий 4.0, 3.1 и 3.0 отсутствовала.
Последний стабильный релиз
Последняя LTS-версия
Другое
Каждый стабильный релиз
Только LTS-версии
Каждый ежемесячный технический релиз
Я использую неподдерживаемую версию Django
Другое
Шаблоны Django
Jinja2
Другое
Нет
42%
41%
pytest
33%
31%
pytest-django
31%
36%
unittest (manage.py test)
24%
21%
coverage
15%
10%
Selenium
По сравнению с прошлым годом выросла популярность Selenium и Playwright: с 10% до 15% и с 3% до 9% соответственно. Кроме того, у Playwright есть неплохой плагин pytest, и его можно запускать в контейнерах Docker.
28%
25%
ASGI
25%
23%
asyncio
21%
18%
FastAPI
19%
15%
Uvicorn
18%
15%
Каналы
Хотя в Django есть мощные возможности, позволяющие писать и развертывать асинхронные представления под ASGI, FastAPI по-прежнему пользуется у Django-разработчиков большей популярностью. Ситуация может измениться по мере доработки поддержки асинхронных представлений в следующих версиях Django.
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% | Другое |
16% | 17% | 15% | Нет |
Третий год подряд мы видим снижение доли Bootstrap и значительный рост Tailwind CSS. Популярность последнего за последние два года удвоилась. Если вы хотите использовать Tailwind CSS в 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% | Другое |
20% | 19% | 18% | Нет |
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 с помощью DRF
Другое
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% | Другое |
32% | 28% | 25% | Нет |
Средне, время от времени
Немного, почти не участвую
Активно или часто
Не участвую
Да
Нет, второстепенный
Другое
На этот вопрос отвечали только те, чей основной язык программирования не Python.
54%
59%
djangoproject.com
24%
26%
Stack Overflow
21%
18%
YouTube
18%
20%
Reddit (r/django)
17%
10%
Форум Django
17%
15%
Новостная рассылка Django News
17%
16%
Я не слежу за развитием Django
14%
20%
X (ранее Twitter)
12%
11%
Друзья
12%
11%
Hacker News
С 2023 года Django активно ведет страницу на Mastodon. Большинство пользователей Mastodon из Северной Америки. В то же время число пользователей X (ранее Twitter) немного снизилось.
Доля Django Forum выросла по сравнению с прошлым годом с 10% до 17%, Django Discord также набирает популярность. djangoproject.com рекомендует пользователям использовать эти два ресурса для общения и поддержки.
71%
80%
djangoproject.com
41%
–
StackOverflow
38%
40%
YouTube
37%
45%
Блоги
26% разработчиков уже пользуются недавно появившимися ИИ-инструментами для изучения 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 / виртуальные машины |
2% | 3% | 3% | Другое |
3% | 3% | 5% | Нет |
45%
55%
Psycopg2
44%
51%
Requests
34%
40%
Gunicorn
32%
36%
Celery
30%
32%
pytest
В Django 4.2 была добавлена поддержка psycopg 3.1.8+, а поддержка psycopg2, вероятно, в обозримом будущем будет прекращена.
2021 | 2022 | 2023 | |
---|---|---|---|
26% | 41% | 42% | Black |
40% | 43% | 37% | Flake8 |
37% | 33% | 29% | pylint |
14% | 18% | 20% | mypy |
4% | 3% | 11% | Другое |
26% | 23% | 21% | Нет |
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% | Другое |
19% | 20% | 16% | Нет |
После того, как создатели Heroku отменили бесплатные планы подписки, его доля пользователей упала с 27% в 2021 году до всего лишь 16% в 2023-м.
Я использую контейнеры во время разработки
Мое приложение работает в контейнерах в производственной среде
Контейнеры используются в CI/CD-процессе
Нет / Не знаю
Я использую контейнеры для других целей
Код приложения, которое разрабатываю я или моя команда
Вспомогательные службы, к которым подключается мой код
Утилиты, которые я использую во время разработки
Другое
В virtualenv
В контейнере на моем компьютере
С помощью системного интерпретатора
В контейнерах на другом компьютере
На другом компьютере, без контейнеров
Другое
С помощью выражений печати или логирования
С помощью IDE
С помощью shell / pdb
Другое
Я использую только выражения логирования
Я часто использую отладчик для приложения, запущенного удаленно или в контейнере
Я один или два раза подключал отладчик
Нет
Я работаю в команде
Я работаю над своим проектом самостоятельно
Я независимый консультант или инструктор
Я работаю над несколькими разными проектами
Я работаю над одним главным и несколькими связанными с ним проектами
Я работаю только над одним проектом
18–20
21–29
30–39
40–49
50–59
60 и старше
Предпочитаю не отвечать
В прошлом году впервые был организован DjangoCon Africa.