这是由 Django Software Foundation 和 JetBrains 于 2022 年 9 月至 10 月开展的第二次年度 Django 开发者调查。来自 248 个国家和地区的 4900 名 Django 用户和爱好者参与了调查,帮助我们更好地了解框架及其生态系统的现状。
55%
0%
4.1
34%
0%
4.0
47%
75%
3.2
10%
30%
3.1
13%
39%
3.0 或更低版本
大多数用户迁移到了最新的 4.1 版本,但几乎一半的 Django 开发者仍然依赖 3.2 LTS 版本。
经验丰富的 Python 开发者使用 Django 3.1 及更低版本,而新手仅使用最新版本。
Django 开发者通常通过稳定版本 (44%) 或仅通过长期支持 (LTS) (32%) 来升级项目。
Django 正式支持以下数据库:PostgreSQL、SQLite、MySQL、MariaDB 和 Oracle。自去年的调查以来,PostgreSQL 变得更受欢迎,份额增加了 2 个百分点。
只有 6% 的开发者使用不受 Django 支持的数据库。这些开发者最常提到的数据库是 MongoDB。
Redis 缓存最受欢迎,超过半数的 Django 开发者都在使用。
将 Redis 作为缓存后端的开发者比选择其他缓存方法的开发者更经常使用 TypeScript。
PostgreSQL 数据库用户更喜欢 Redis 和 Memcached。
在 SQLite 用户中,份额最大的是文件系统,其后是本地内存。
GeoDjango 后端的使用与数据库后端的选择高度相关。
超过 80% 的受访者选择了 admin 或 auth,使其连续两年成为最受欢迎的 contrib 应用。
受访者最喜欢的核心组件是模型。76% 的 Django 用户选择了它,比去年提高了 4 个百分点。
Django 模板
Jinja2
其他
无
36%
37%
React
32%
37%
jQuery
25%
28%
Vue
16%
5%
htmx
8%
10%
Angular
2020 年发布的 htmx 现在得到更多关注。自我们 2021 年 8 月的上一次调查以来,这个 JavaScript 框架的使用率增加了两倍。此外,Alpine.js 的份额翻了一番,不过这个值仍然太小,无法得出具体结论。
与去年的结果相比,jQuery 的份额下降了 5 个百分点。
值得注意的是,曾经的领先框架开始被新兴框架所取代。
62%
68%
Bootstrap
22%
15%
Tailwind CSS
13%
14%
纯 CSS
9%
12%
Material Design/Lite
6%
6%
Bulma
自去年以来,Tailwind CSS 的份额增加了 7 个百分点,从 15% 上升到 22%。Tailwind CSS 用户往往比 Bootstrap 用户更倾向于使用 JavaScript 框架,例如 Alpine.js、htmx、React 和 Vue。Bootstrap 用户使用 jQuery 的频率几乎是 Tailwind 用户使用它的两倍。
更有经验的开发者使用类型提示的次数明显多于经验较少的开发者。总体而言,46% 的 Django 开发者使用类型提示。
许多,或者经常
一些,或者有时
一点,或者几乎从不
无,或者从来没有
更大的团队更有可能记录软件,比如主要由较大团队使用的 Github Pages。
较小的团队发布文档的频率更低。
主要
辅助
此问题仅向那些选择 Python 作为辅助语言的人展示。
YouTube 和 Stack Overflow 的最大用户群是工作不到 2 年的开发者。
有 6 年或更多工作经验的人几乎从不使用 YouTube 来学习 Django。他们通常会阅读 djangoproject.com 和 Django News。
YouTube 频道
博客
播客
Twitter 账号
论坛
其他
58%
13%
3.10
51%
60%
3.9
36%
53%
3.8
17%
31%
3.7
8%
21%
3.6 - 3.0
根据官方 Python 开发者调查,Django 开发者总体比 Python 开发者更喜欢使用最新的 Python 版本。3.9 版的使用情况尤其明显,Django 开发者的使用率 (51%) 总体比 Python 开发者 (22%) 高出 29 个百分点。
与使用操作系统提供的 Python 的开发者相比,访问 python.org 的开发者往往更频繁地将 Python 升级到各个稳定版本。
位于亚洲的开发者更喜欢使用 python.org,比例是总体开发者的两倍(27% 对 13%),而位于欧洲的开发者选择操作系统提供的 Python 的比例高出总体开发者 22 个百分点(55% 对 33%)。
55%
44%
venv
43%
55%
Virtualenv
42%
40%
Docker
21%
23%
Pipenv
19%
13%
Poetry
Poetry 的份额从 2021 年的 13% 上升到 2022 年底的 19%,增长了 6 个百分点。
51%
35%
Black
28%
18%
isort
23%
30%
autopep8
19%
0%
pre-commit
1%
2%
YAPF
与去年的调查结果相比,Black 代码格式化程序的份额显著增加(增加了 16 个百分点)。
43%
40%
Flake8
41%
26%
Black
33%
37%
pylint
18%
14%
mypy
3%
4%
其他
Psycopg2 和 Requests 是 Django 用户中使用最多的 Python 软件包,各占 54%。
Requests 是所有 Python 开发者中的流行平台,而 Psycopg2 似乎特定于 Django。
Pillow 是一个处理图像的模块,很受经验不足的开发者的欢迎。
AWS 拥有 56% 的份额,通常是北美和中美洲开发者的选择。
Heroku 在非洲以 39% 的份额领先,AWS 以 37% 紧随其后。
此外,PythonAnywhere 在非洲和中东的需求更高,占有 20% 的份额,在亚洲则有 19%。在世界其他地方,其比例不到 10%。
Linux
macOS
带 WSL 的 Windows
不带 WSL 的 Windows
其他
42%
35%
GitHub Actions
28%
27%
GitLab CI
10%
12%
Jenkins/Hudson
8%
8%
CircleCI
2%
6%
TravisCI
自去年以来,GitHub Actions 的份额小幅上升了 7 个百分点,而 Jenkins 和 Travis CI 分别下降了 2 个和 4 个百分点。
我在开发过程中使用容器
我构建的应用程序在生产环境的容器中运行
在 CI/CD 流程中使用容器
不/我不确定
我将容器用于其他目的
对于个人和 10 人以下的小公司,为支持服务和实用工具使用 Docker 容器的比例较低。
45% 拥有至少 11 年经验的开发者使用 shell / pdb 调试应用程序,而只有 20% 拥有不到 1 年经验的开发者和 30% 具有 1-2 年经验的开发者这样做。
Django 用户自由职业者的比例一般是开发者的两倍:本次调查中自由职业者的比例为 11%,而在整个开发者生态系统中这一比例仅为 5%,在 Python 开发者调查中则为 6%。
9%
11%
不足 1 年
15%
17%
1–2 年
22%
24%
3–5 年
21%
19%
6–10 年
33%
29%
11 年以上
今年的受众特征显示,2022 年受访者的经验略高于去年。
6%
8%
不足 1 年
16%
21%
1–2 年
30%
31%
3–5 年
28%
24%
6–10 年
19%
16%
11 年以上
Django 开发者倾向于在小团队中工作。
开发者越有经验,拥有的项目往往就越多。经验较少的开发者通常参与一个主项目和几个副项目,甚至可能只参与一个主项目。
想进一步挖掘数据吗?下载匿名调查回复,看看您能学到什么!在 Twitter 上使用话题标签 #djangosurvey 提及 @jetbrains 和 @djangoproject,分享您的发现和见解。
数据集仅包含来自官方 Django Software Foundation 渠道的回复。滤除重复和不可信的回复后,数据集包括 2022 年 9 月至 10 月通过 djangoproject.com 和 DSF 的 Twitter 账号等官方 Django 渠道上的调查推广收集的约 4900 份回复。为了防止调查偏向于任何特定的工具或技术,未使用任何与产品、服务或供应商相关的渠道收集回复。
数据均已匿名处理,不含个人信息或详细地理位置信息。此外,为了防止经逐字评论识别任何个别受访者身份,已删除所有开放式字段。
为了帮助您更好地理解调查的逻辑,我们将共享数据集、调查问题以及所有调查逻辑。
我们再次代表 Django Software Foundation 和 JetBrains 感谢参与本次调查的所有人。
如果您有任何疑问或建议,请发送电子邮件至 surveys@jetbrains.com 与我们联系。