您当前的位置:首页 > 电脑百科 > 程序开发 > 框架

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

时间:2023-12-06 12:14:35  来源:  作者:OSC开源社区

Django 5.0 已正式发布。

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

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

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 %}

<divclass="helptext"id="{{ form.name.id_for_label }}_helptext">

{{ form.name.help_text|safe }}

</div>

{% endif %}

{{ form.name.errors }}

{{ form.name }}

<divclass="row">

<divclass="col">

{{ form.email.label_tag }}

{% if form.email.help_text %}

<divclass="helptext"id="{{ form.email.id_for_label }}_helptext">

{{ form.email.help_text|safe }}

</div>

{% endif %}

{{ form.email.errors }}

{{ form.email }}

</div>

<divclass="col">

{{ form.password.label_tag }}

{% if form.password.help_text %}

<divclass="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 }}

<divclass="row">

<divclass="col">{{ form.email.as_field_group }}</div>

<divclass="col">{{ form.password.as_field_group }}</div>

</div>

</div>

...

</form>

  • 数据库计算的默认值

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

fromdjango.db importmodels

fromdjango.db.models.functions importNow, Pi

classMyModel(models.Model):

age = models.IntegerField(db_default=18)

created = models.DateTimeField(db_default=Now)

circumference = models.FloatField(db_default=2* Pi)

  • 数据库生成的模型字段

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

fromdjango.db importmodels

fromdjango.db.models importF

classSquare(models.Model):

side = models.IntegerField

area = models.GeneratedField(expression=F("side") * F("side"), db_persist=True)

详情查看 Django 5.0 release notes:https://docs.djangoproject.com/en/5.0/releases/5.0/

随着 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 或更高版本。

相关链接:

  • https://www.djangoproject.com/weblog/2023/dec/04/django-50-released/
  • https://www.djangoproject.com/weblog/2023/dec/04/bugfix-release/



Tags:Web框架   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
FastAPI:高性能Web框架的简介与应用
正文:在当今互联网时代,构建高性能的WebAPI是许多开发人员的关注重点。而FastAPI作为一个现代、快速的Web框架,为基于标准Python类型提示的API构建提供了强大的支持。FastAPI的...【详细内容】
2023-12-27  Search: Web框架  点击:(101)  评论:(0)  加入收藏
Django 5.0正式发布,最流行Python Web框架
Django 5.0 已正式发布。根据 JetBrains 公布的 2022 Python 开发者调查结果,Python Web 框架的三巨头依旧是 Flask、Django 和 FastAPI。Django 和 Flask 的使用率排名并列...【详细内容】
2023-12-06  Search: Web框架  点击:(154)  评论:(0)  加入收藏
无缝集成GORM与Go Web框架
探索GORM与流行的Go Web框架之间的和谐集成,以实现高效的数据管理高效的数据管理是每个成功的Web应用程序的基础。GORM,多才多艺的Go对象关系映射库,与流行的Go Web框架非常搭...【详细内容】
2023-11-17  Search: Web框架  点击:(258)  评论:(0)  加入收藏
Golang中的强大Web框架
揭示Fiber在Go Web开发中的特点和优势在不断发展的Web开发领域中,选择正确的框架可以极大地影响项目的效率和成功。介绍一下Fiber,这是一款令人印象深刻的Golang(Go语言)Web框架...【详细内容】
2023-10-26  Search: Web框架  点击:(258)  评论:(0)  加入收藏
Python Web框架的三强之争:Flask、Django和FastAPI
出品 | OSC开源社区(ID:oschina2013)JetBrains 公布 2022 Python 开发者调查结果。完整报告地址:https://lp.jetbrains.com/zh-cn/python-developers-survey-2022/这是由 Pytho...【详细内容】
2023-10-11  Search: Web框架  点击:(331)  评论:(0)  加入收藏
如何选择最适合你的Python Web框架?
你想用Python来开发Web应用吗?那你一定会遇到一个问题:Python有那么多的Web框架,我该选哪一个呢?Python在Web开发领域提供了多个框架,每个框架都有独特的特点和适用场景。在这篇...【详细内容】
2023-10-08  Search: Web框架  点击:(262)  评论:(0)  加入收藏
Python Web框架哪个好用?
答:1.DjangoDjango是Python世界中最出名、最成熟的Web框架。Django功能全面,各模块之间结合紧密,(不讲其他的)Django赢在「 全面」。Django提供了丰富、完善的「 文档」,帮助开发者...【详细内容】
2023-06-14  Search: Web框架  点击:(355)  评论:(0)  加入收藏
适合做外包开发的Web框架
Laravel:Laravel是PHP的Web开发框架,拥有简洁优雅的语法和强大的Eloquent ORM。内置了大量实用组件,学习曲线适中,深受开发者喜爱,适合开发大中型Web应用。作为PHP第一框架,...【详细内容】
2023-04-26  Search: Web框架  点击:(197)  评论:(0)  加入收藏
选择最适合你的框架,看这份详细的Web框架性能分析报告!
本报告的目的是通过真实的数据来更好地了解框架选择、性能和实际用户体验之间的关系。我们将试图回答以下几个关键问题: 现代Web框架在实际使用和性能方面如何比较? 框架选择...【详细内容】
2023-03-14  Search: Web框架  点击:(137)  评论:(0)  加入收藏
Python的Web框架介绍
前言Python的便利性和多功能性意味着它几乎被用于构建各行各业的软件。一个主要的利基是web服务,Python的开发速度和灵活性使其可以很容易地快速建立和运行网站。正如您可能...【详细内容】
2022-05-06  Search: Web框架  点击:(443)  评论:(0)  加入收藏
▌简易百科推荐
Web Components实践:如何搭建一个框架无关的AI组件库
一、让人又爱又恨的Web ComponentsWeb Components是一种用于构建可重用的Web元素的技术。它允许开发者创建自定义的HTML元素,这些元素可以在不同的Web应用程序中重复使用,并且...【详细内容】
2024-04-03  京东云开发者    Tags:Web Components   点击:(7)  评论:(0)  加入收藏
Kubernetes 集群 CPU 使用率只有 13% :这下大家该知道如何省钱了
作者 | THE STACK译者 | 刘雅梦策划 | Tina根据 CAST AI 对 4000 个 Kubernetes 集群的分析,Kubernetes 集群通常只使用 13% 的 CPU 和平均 20% 的内存,这表明存在严重的过度...【详细内容】
2024-03-08  InfoQ    Tags:Kubernetes   点击:(12)  评论:(0)  加入收藏
Spring Security:保障应用安全的利器
SpringSecurity作为一个功能强大的安全框架,为Java应用程序提供了全面的安全保障,包括认证、授权、防护和集成等方面。本文将介绍SpringSecurity在这些方面的特性和优势,以及它...【详细内容】
2024-02-27  风舞凋零叶    Tags:Spring Security   点击:(52)  评论:(0)  加入收藏
五大跨平台桌面应用开发框架:Electron、Tauri、Flutter等
一、什么是跨平台桌面应用开发框架跨平台桌面应用开发框架是一种工具或框架,它允许开发者使用一种统一的代码库或语言来创建能够在多个操作系统上运行的桌面应用程序。传统上...【详细内容】
2024-02-26  贝格前端工场    Tags:框架   点击:(46)  评论:(0)  加入收藏
Spring Security权限控制框架使用指南
在常用的后台管理系统中,通常都会有访问权限控制的需求,用于限制不同人员对于接口的访问能力,如果用户不具备指定的权限,则不能访问某些接口。本文将用 waynboot-mall 项目举例...【详细内容】
2024-02-19  程序员wayn  微信公众号  Tags:Spring   点击:(39)  评论:(0)  加入收藏
开发者的Kubernetes懒人指南
你可以将本文作为开发者快速了解 Kubernetes 的指南。从基础知识到更高级的主题,如 Helm Chart,以及所有这些如何影响你作为开发者。译自Kubernetes for Lazy Developers。作...【详细内容】
2024-02-01  云云众生s  微信公众号  Tags:Kubernetes   点击:(50)  评论:(0)  加入收藏
链世界:一种简单而有效的人类行为Agent模型强化学习框架
强化学习是一种机器学习的方法,它通过让智能体(Agent)与环境交互,从而学习如何选择最优的行动来最大化累积的奖励。强化学习在许多领域都有广泛的应用,例如游戏、机器人、自动驾...【详细内容】
2024-01-30  大噬元兽  微信公众号  Tags:框架   点击:(67)  评论:(0)  加入收藏
Spring实现Kafka重试Topic,真的太香了
概述Kafka的强大功能之一是每个分区都有一个Consumer的偏移值。该偏移值是消费者将读取的下一条消息的值。可以自动或手动增加该值。如果我们由于错误而无法处理消息并想重...【详细内容】
2024-01-26  HELLO程序员  微信公众号  Tags:Spring   点击:(84)  评论:(0)  加入收藏
SpringBoot如何实现缓存预热?
缓存预热是指在 Spring Boot 项目启动时,预先将数据加载到缓存系统(如 Redis)中的一种机制。那么问题来了,在 Spring Boot 项目启动之后,在什么时候?在哪里可以将数据加载到缓存系...【详细内容】
2024-01-19   Java中文社群  微信公众号  Tags:SpringBoot   点击:(86)  评论:(0)  加入收藏
花 15 分钟把 Express.js 搞明白,全栈没有那么难
Express 是老牌的 Node.js 框架,以简单和轻量著称,几行代码就可以启动一个 HTTP 服务器。市面上主流的 Node.js 框架,如 Egg.js、Nest.js 等都与 Express 息息相关。Express 框...【详细内容】
2024-01-16  程序员成功  微信公众号  Tags:Express.js   点击:(85)  评论:(0)  加入收藏
站内最新
站内热门
站内头条