Django 5.0 正式发布,最流行 Python Web 框架


Django 5.0 已正式发布

根据 JetBrains 公布的 2022 Python 开发者调查结果,Python Web 框架的三巨头依旧是 Flask、Django 和 FastAPI。Django 和 Flask 的使用率排名并列第一。

Django 5.0 支持最新的 Python 版本,包括 Python 3.10、3.11 和 3.12。此外还引入了字段组 (field group),用于简化 Django 表单字段的相关元素的渲染。

下面是值得关注的变化:

  • Python 兼容性

Django 5.0 支持 Python 3.10、3.11 和 3.12。开发团队建议用户使用每个 Python 分支的最新版本。

此外,Django 4.2.x 系列是最后一个支持 Python 3.8 和 3.9 的版本。

  • 针对表单字段渲染的简化模板

Django 5.0 引入了字段组 (field group) 和字段组模板 (field group templates) 的概念。该特性简化了 Django 表单字段相关元素的渲染,例如标签、小部件、帮助文本和错误等。

例如下面的模板:

<form>
...
<div>
{{ form.name.label_tag }}
{% if form.name.help_text %}
<div class="helptext" id="{{ form.name.id_for_label }}_helptext">
{{ form.name.help_text|safe }}
</div>
{% endif %}
{{ form.name.errors }}
{{ form.name }}
<div class="row">
<div class="col">
{{ form.email.label_tag }}
{% if form.email.help_text %}
<div class="helptext" id="{{ form.email.id_for_label }}_helptext">
{{ form.email.help_text|safe }}
</div>
{% endif %}
{{ form.email.errors }}
{{ form.email }}
</div>
<div class="col">
{{ form.password.label_tag }}
{% if form.password.help_text %}
<div class="helptext" id="{{ form.password.id_for_label }}_helptext">
{{ form.password.help_text|safe }}
</div>
{% endif %}
{{ form.password.errors }}
{{ form.password }}
</div>
</div>
</div>
...
</form>

可简化为:

<form>
...
<div>
{{ form.name.as_field_group }}
<div class="row">
<div class="col">{{ form.email.as_field_group }}</div>
<div class="col">{{ form.password.as_field_group }}</div>
</div>
</div>
...
</form>
  • 数据库计算的默认值

新的 Field.db_default 参数用于设置数据库计算 (database-computed) 的默认值。例如:

from django.db import models
from django.db.models.functions import Now, Pi


class MyModel(models.Model):
age = models.IntegerField(db_default=18)
created = models.DateTimeField(db_default=Now())
circumference = models.FloatField(db_default=2 * Pi())
  • 数据库生成的模型字段

新的 GeneratedField 支持创建数据库生成的列。该字段可在所有支持的数据库后端上使用,以创建始终根据其他字段计算的字段。例如:

from django.db import models
from django.db.models import F


class Square(models.Model):
side = models.IntegerField()
area = models.GeneratedField(expression=F("side") * F("side"), db_persist=True)

详情查看 Django 5.0 release notes

随着 Django 5.0 的发布,Django 4.2 已结束其 mainstream 支持,最后一个小错误修复版本 4.2.8 已于昨天发布。Django 4.2 是 LTS 版本,会在 2026 年 4 月之前获得安全和数据丢失修复。

此外,Django 4.1 的扩展支持已结束。最终安全版本 (4.1.13) 于 11 月 1 日发布。建议所有 Django 4.1 用户升级到 Django 4.2 或更高版本。


相關推薦

2023-09-26

Django 5.0 首个 alpha 版本已发布,标志着进入功能冻结阶段。 主要变化 Python 兼容性 Django 5.0 支持 Python 3.10、3.11 和 3.12。开发团队建议用户使用每个 Python 分支的最新版本。 此外,Django 4.2.x 系列是最后一个支持 Python 3.8 和

2023-11-15

语言。它拥有全方位的实用工具,从脚本和工具到使用 Django 框架编写整个 Web 应用程序。该语言多被用于数据科学。 调查结果显示,虽然 Python 开发人员的平均工资为每年 12.5 万美元,但有些薪资已经达到了每年 50 万美元。

2023-10-10

架和库 Web 框架 Python Web 框架的使用率仍然是 Flask、Django 和 FastAPI 之间的三强之争。所有其他框架加起来只能勉强排在第三位。 去年以来,FastAPI 增加了 4 个百分点,现在有四分之一的 Python 开发者使用它。 数据库

2022-12-14

比为 20%。 Jobs Found: 515K (~20%) Keywords: python, django, flask. 3、Java Java 是需求量第三大的编程语言,自 1995 年创建以来一直非常流行。尽管在过去几年中随着更现代的语言(如 Kotlin)的出现这种流行度有所下降

2023-12-17

年来,CherryPy在众多热门框架如Flask、FastAPI以及老牌劲旅Django的光芒下逐渐淡出了人们的视线,但它曾在国内乃至全球范围内广受欢迎,并受到了许多专业人士的推崇,其中包括著名的Python开发者Limodou。 尽管如此,它仍保留了

2023-07-20

rdpress 等框架结合使用。 6、C/C++ 自 C 语言的首次发布至今已有 50 年的历史,从后来 C++ 的诞生到现在也已经过去了 37 年,C++ 最初的名字是 "C with Classes"。在这个漫长的时间窗口中,C/C++ 通过对语言的定期补充和改进保

2023-06-15

Stack Overflow 发布了 2023 年开发者调查报告,据称共计超过 9 万名开发者参与了此次调查。 完整报告包含了受访开发者画像,以及关于开发技术、AI、职业、社区等方面的内容。本文主要介绍关于开发技术和 AI 的部分。 最流

2023-07-08

​根据 Threads 工程师的介绍,Threads 和 Instagram 一样采用 Django 作为 Web 服务器,所有性能密集型的任务都放到了各种 C++ 聚合器和推荐类型服务中。 当然,他们在 Django 基础进行了深度的定制修改,因此支持在自定义的 Python JIT

2023-01-18

科技招聘平台 CodinGame 和 CoderPad 最新发布了一份 2023 年科技行业招聘报告,基于对 14000 名专业人士的调查,对 2023 年科技行业招聘人员和求职者可能面临的情况进行了深入分析。其中一些关键亮点包括: 59% 的开发人员没有

2022-03-21

锋。但作为一个开源项目,它可以免费供任何人使用。 Django:Simon Willison 和 Adrian Holovaty Simon Willison(左图)和 Adrian Holovaty(右图)在 21 世纪初为 Lawrence Journal-World 工作,当时他们才 20 出头。正如 Willison 所说,他们需要能

2023-06-07

组件化开发的敏捷开发框架。 软件信息 软件名称:DjangoAdmin 敏捷开发框架 Flask+EleVue 版本 官网网址:https://www.djangoadmin.cn 文档网址:http://docs.flask.elevue.djangoadmin.cn 演示地址:http://manage.flask.elevue.djangoadmin.cn 版本说明

2022-11-15

研究公司 SlashData 最新发布了一份”State of the Developer Nation“第 23 版报告,基于 2021 年 6 月至 2022 年 8 月期间对 166 个国家/地区的 26000 多名开发者进行调查的数据。该研究旨在探索 2022 年第三季度及以后的关键开发人员

2023-05-13

化开发的敏捷开发框架。   软件信息 软件名称:DjangoAdmin 敏捷开发框架 Flask+EleVue 版本 官网网址:https://www.djangoadmin.cn 文档网址:http://docs.flask.elevue.djangoadmin.cn 演示地址:http://manage.flask.elevue.djangoadmin.cn 版本说

2021-12-07

毋庸置疑,Python 是世界上最流行的编程语言之一,其被广泛运用于人工智能、数据分析、网络爬虫和 Web 开发等领域。在上个月的 TIOBE 榜单中,Python 一举超过 C 语言拿下榜首的位置也能够充分说明 Python 的流行程度。 但在 2