Ce rapport est basé sur la troisième enquête annuelle sur les développeurs Django, menée en septembre et octobre 2023, dans le cadre d'une collaboration entre la Django Software Foundation et PyCharm. Pour nous aider à nous faire une meilleure idée de l'état actuel du framework et de l'écosystème qui l'entoure, près de 4 000 utilisateurs passionnés de Django ont répondu à l'enquête.
Aussi bien pour le travail que pour mes projets personnels, éducatifs ou secondaires
Uniquement pour mes projets personnels, éducatifs ou secondaires
Uniquement pour le travail
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 ou inférieure |
3 % | 3 % | 4 % | Je n'en suis pas sûr·e |
Lorsque l'enquête a été réalisée en septembre - octobre 2023, seules les versions 4.2, 4.1 et 3.2 étaient prises en charge par Django. Les versions 4.0, 3.1 et 3.0, et toutes celles qui les précèdent, n'étaient plus prises en charge au niveau de la sécurité.
La dernière version stable
La dernière version LTS
Autre
Chaque version stable
LTS uniquement
Chaque version mensuelle
J'utilise une version de Django non prise en charge
Autre
Templates Django
Jinja2
Autre
Aucun
42%
41%
pytest
33%
31%
pytest-django
31%
36%
unittest (tests manage.py test)
24%
21%
couverture
15%
10%
Selenium
Depuis l'an dernier, Selenium et Playwright sont de plus en plus populaires, de 10 à 15 %, et de 3 à 9 %, respectivement. Playwright inclut également un plugin pytest intéressant et peut s'exécuter dans les conteneurs Docker.
28%
25%
ASGI
25%
23%
asyncio
21%
18%
FastAPI
19%
15%
Uvicorn
18%
15%
Canaux
Même si Django dispose d'une excellente prise en charge de l'écriture et du déploiement des vues asynchrones sous ASGI, FastAPI est plus répandu chez les développeurs Django. Cela peut évoluer, car la prise en charge asynchrone de Django devrait arriver à maturité dans les versions à venir.
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 % | Autre |
16 % | 17 % | 15 % | Aucun |
Pour la troisième année consécutive, nous continuons à observer une tendance à la baisse pour Bootstrap et une croissance significative pour Tailwind CSS, dont la popularité a doublé au cours des deux dernières années. Lisez cet article de Tim Kamanin, le créateur de ce package, si vous souhaitez commencer à utiliser Tailwind CSS dans 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 % | Autre |
20 % | 19 % | 18 % | Aucun |
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 utilisant DRF
Autre
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 % | Autre |
32 % | 28 % | 25 % | Aucun |
Quelques-uns, ou parfois
Un peu, ou presque jamais
Beaucoup, ou souvent
Aucun, ou jamais
Oui
Non, j'utilise Python comme langage secondaire
Autre
Cette question a été posée uniquement aux développeurs qui n'utilisent pas Python comme langage de base.
54%
59%
djangoproject.com
24%
26%
Stack Overflow
21%
18%
Youtube
18%
20%
Reddit (r/django)
17%
10%
Forum Django
17%
15%
Newsletter Django News
17%
16%
Je ne suis pas l'évolution du développement de Django
14%
20%
X (anciennement Twitter)
12%
11%
Ami·es
12%
11%
Hacker News
En 2023, Django avait commencé à gérer activement une page sur Mastodon. La majeure partie des utilisateurs de Mastodon sont en Amérique du Nord. Par ailleurs, la part des utilisateurs de X (anciennement Twitter) s'est légèrement réduite.
La part du Forum Django est passé de 10 à 17 % depuis l'année dernière, et le Discord Django a également gagné en popularité. djangoproject.com encourage les utilisateurs à aller sur ces deux canaux pour échanger avec la communauté et obtenir de l'assistance.
71%
80%
djangoproject.com
41%
–
StackOverflow
38%
40%
Youtube
37%
45%
Blogs
26 % des développeurs utilisent déjà les nouveaux outils d'IA pour apprendre 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 / machines virtuelles |
2 % | 3 % | 3 % | Autre |
3 % | 3 % | 5 % | Aucun |
45%
55%
Psycopg2
44%
51%
Requests
34%
40%
Gunicorn
32%
36%
Celery
30%
32%
pytest
La prise en charge de psycopg 3.1.8+ a été ajoutée dans Django 4.2, tandis que la prise en charge de psycopg2 sera bientôt rendue obsolète et retirée.
2021 | 2022 | 2023 | |
---|---|---|---|
26 % | 41 % | 42 % | Black |
40 % | 43 % | 37 % | Flake8 |
37 % | 33 % | 29 % | pylint |
14 % | 18 % | 20 % | mypy |
4 % | 3 % | 11 % | Autre |
26 % | 23 % | 21 % | Aucun |
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 % | Autre |
19 % | 20 % | 16 % | Aucun |
Lorsque Heroku a confirmé l'abandon de ses projets de produits gratuits, sa part d'utilisateurs est passée de 27 % en 2021 à seulement 16 % en 2023.
J'utilise des conteneurs pendant le développement
L'application que je génère fonctionne dans des conteneurs en production
Des conteneurs sont utilisés dans le processus CI/CD
Non/Je ne suis pas sûr·e
J'utilise des conteneurs à d'autres fins
Un code d'application que je développe ou que mon équipe développe
Des services de sauvegarde auxquels mon code se connecte
Des utilitaires que j'utilise pendant le développement
Autre
Dans un virtualenv
Dans un conteneur, sur mon ordinateur
À l'aide de l'interpréteur système sur mon ordinateur
Dans des conteneurs internes, sur un autre ordinateur
Sur un autre ordinateur en dehors de conteneurs
Autre
Utilisation d'instructions print ou log
Utilisation de mon IDE
Utilisation du shell/pdb
Autre
Je n'utilise que les indications du journal
J'utilise fréquemment un débogueur pour mes applications, à distance ou dans des conteneurs
J'ai associé un débogueur une ou deux fois
Non
Je travaille en équipe
Je travaille sur mon propre projet de manière indépendante
Je travaille en tant que consultant externe ou formateur
Je travaille sur de nombreux projets différents
Je travaille sur un projet principal et plusieurs projets secondaires
Je ne travaille que sur un seul projet
18–20
21–29
30–39
40–49
50–59
60 ou plus
Je préfère ne pas répondre
L'an dernier, nous avons organisé pour la première fois la DjangoCon Africa.