2023 年 Django 开发者调查结果(jetbrains)

原文-中文
原文-英文
推荐观看原文。

本报告基于 2023 年 9 月至 10 月进行的第三次年度 Django 开发者调查,是 Django 软件基金会和 PyCharm 之间的合作成果。为了帮助我们更好地了解框架的当前状态及其周围的生态系统,来自世界各地的大约 4,000 名 Django 用户和爱好者参加了调查。
【注1】:为了叙述方便,下面将Django 用户和爱好者简称用户/开发者。
【注2】:原文比较长,本文只记录其中的部分。
【注3】:调查者大部分来自欧洲(44%)和北美(19%)和亚洲(17%),中国大陆只占2%。

摘要

  • 大部分(64%)用户在工作和个人项目中都使用Django。
  • 数据库占比前三:PostgreSQL(76%) 、SQLite(43%)、MySQL(30%)
  • 缓存前三:Redis(54%)、 Memcached(20%)、本地内存(18%)
  • django contrib app前五:admin(77%)、auth(74%)、postgres(47%)、sessions(46%)、staticfiles(45%)
  • 核心组件:Model、Admin、Authentication、Migrations、Views、management命令行、Forms、Template
  • 测试框架:pytest(42%)、pytest-django(32%)
  • 异步技术:ASGI(28%)、asyncio(25%)、Fast API(21%)
  • CSS框架:Bootstrap(56%)、TailwindCSS(29%)、原生CSS(18%)
  • JavaScript框架:React(35%)、jQuery(31%)、html(23%)、Vue(19%)
  • 第三方Django包:djangorestframework(DRF)、django-debug-toolbar、django-celery、django-allauth、django-cors-headers
  • 编辑器/IDE:VsCode(47%)、PyCharm(29%)
  • 操作系统:Linux(36%)、macOS(32%)、Windows with WSL(19%)
  • 持续集成系统:Github Actions(45%)、GitLab CI(25%)、Jenkins(11%)
  • 大部分用户使用或将会使用类型提示(type hints)
  • 大部分用户不喜欢写文档
  • Django开发资源:Django官网、stack overflow、Youtube、Reddit(r/django)、Django论坛、Django News、Twitter、Hack news
  • Python版本:3.11(65%)、3.10(%46)、3.9(29%)、3.8(20%)、3.7(8%)
  • 虚拟环境:venv(52%)、Docker(40%)、Virtualenv(34%)、Poetry(21%)、pipenv(19%)、conda(10%)

Django的使用r

大部分(64%)用户在工作和个人项目中都使用Django。
在这里插入图片描述

大部分用户使用Django的最新的稳定版本。
在这里插入图片描述

Q:你如何创建Django项目?
71%的用户从头开始。
17%的用户使用 Cookiecutter Django 创建。

技术和框架

数据库/缓存
在这里插入图片描述

Django中最有用的contrib app/ 最喜爱的django内容
在这里插入图片描述

测试框架/ 异步技术
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

开发工具

编辑器或IDE
47%: VSCode
29%:PyCharm

操作系统
36%:Linux
32%:macOS
19%:WIindows with WSL

持续集成系统
45%:Github Actions
25%:GitLabCI
11%: Jenkins/Hudson

语法和文档

类型提示
大部分用户使用(50%)或打算使用(22%)类型提示。

资源

在这里插入图片描述

Python版本

在这里插入图片描述

虚拟环境 / 格式化程序
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/661589.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文笔记】Training language models to follow instructions with human feedback A部分

Training language models to follow instructions with human feedback A 部分 回顾一下第一代 GPT-1 : 设计思路是 “海量无标记文本进行无监督预训练少量有标签文本有监督微调” 范式;模型架构是基于 Transformer 的叠加解码器(掩码自注意…

分布式与一致性协议之Raft算法与一致哈希算法(一)

Raft算法 Raft与一致性 有很多人把Raft算法当成一致性算法,其实它不是一致性算法而是共识算法,是一个Multi-Paxos算法,实现的是如何就一系列值达成共识。并且,Raft算法能容忍少数节点的故障。虽然Raft算法能实现强一致性&#x…

快速掌握Element-Ul,构建高效网页应用【AI写作】

首先,这篇文章是基于笔尖AI写作进行文章创作的,喜欢的宝子,也可以去体验下,解放双手,上班直接摸鱼~ 按照惯例,先介绍下这款笔尖AI写作,宝子也可以直接下滑跳过看正文~ 笔尖Ai写作:…

【Go 语言入门专栏】Go 语言的起源与发展

前言 Go 语言是当下最为流行的编程语言之一,大约在 2020、2021 年左右开始于国内盛行,许多大厂很早就将部分 Java 项目迁移到了 Go,足可看出其在性能方面的优越性。 相信各位都知道,在爬虫业务中,并发是一个关键的需…

CCF-CSP真题题解:201312-3 最大的矩形

201312-3 最大的矩形 #include <iostream> #include <cstring> #include <algorithm> using namespace std;const int MAXN 1010;int n; int h[MAXN];int main() { // O(n^2)scanf("%d", &n);for (int i 1; i < n; i) scanf("%d&quo…

Flowable入门案例

资料地址1614912120/Flowable (github.com)https://github.com/1614912120/Flowable 步骤1&#xff1a;添加Flowable依赖 首先&#xff0c;您需要将Flowable引擎集成到您的项目中。您可以通过Maven、Gradle或手动下载jar包的方式来添加Flowable的依赖。 <?xml version&q…

洗地机哪个牌子质量最好?四大爆款品牌推荐

在这个科技日新月异的时代&#xff0c;我们的生活正被无数智能小玩意所改变。它们像是一群神秘的精灵&#xff0c;悄然进入我们的日常&#xff0c;以其独特的魔力&#xff0c;让生活变得更加便捷、舒适。其中&#xff0c;洗地机无疑是近年来最受瞩目的新宠。它犹如一位翩翩起舞…

【17】JAVASE-集合专题【从零开始学JAVA】

Java零基础系列课程-JavaSE基础篇 Lecture&#xff1a;波哥 Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机&#xff0c;Java 仍是企业和开发人员的首选开发平台。…

【Java EE】多线程(二)Thread 类与常用方法

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更…

Python图像处理——逐帧读取视频文件的方法

方法1&#xff1a;基于cv2 import cv2 import os import warnings warnings.filterwarnings("ignore") cap cv2.VideoCapture("test/1.mp4") c 1 frameRate 1 # 这里可以修改帧率读取间隔&#xff0c;1就是逐帧读取 path outputs os.makedirs(path)…

Ubuntu安装Neo4j

Ubuntu&#xff08;在线版&#xff09; 更新软件源 sudo apt-get update 添加Neo4j官方存储库 wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add - 将地址添加到系统的软件包源列表中 echo deb https://debian.neo4j.com stable latest | su…

飞书API(6):使用 pandas 处理数据并写入 MySQL 数据库

一、引入 上一篇了解了飞书 28 种数据类型通过接口读取到的数据结构&#xff0c;本文开始探讨如何将这些数据写入 MySQL 数据库。这个工作流的起点是从 API 获取到的一个完整的数据&#xff0c;终点是写入 MySQL 数据表&#xff0c;表结构和维格表结构类似。在过程中可以有不同…