Django 5.0 已正式發(fā)布。
根據(jù) JetBrains 公布的2022 Python 開發(fā)者調(diào)查結(jié)果,Python Web 框架的三巨頭依舊是Flask、Django 和 FastAPI。Django 和 Flask 的使用率排名并列第一。
Django 5.0 支持最新的 Python 版本,包括 Python 3.10、3.11 和 3.12。此外還引入了字段組 (field group),用于簡化 Django 表單字段的相關(guān)元素的渲染。 下面是值得關(guān)注的變化:
Python 兼容性
Django 5.0 支持 Python 3.10、3.11 和 3.12。開發(fā)團(tuán)隊(duì)建議用戶使用每個 Python 分支的最新版本。 此外,Django 4.2.x 系列是最后一個支持 Python 3.8 和 3.9 的版本。
針對表單字段渲染的簡化模板
Django 5.0 引入了字段組 (field group) 和字段組模板 (field group templates) 的概念。該特性簡化了 Django 表單字段相關(guān)元素的渲染,例如標(biāo)簽、小部件、幫助文本和錯誤等。 例如下面的模板:
可簡化為:
數(shù)據(jù)庫計(jì)算的默認(rèn)值
新的Field.db_default參數(shù)用于設(shè)置數(shù)據(jù)庫計(jì)算 (database-computed) 的默認(rèn)值。例如:
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())
數(shù)據(jù)庫生成的模型字段
新的GeneratedField支持創(chuàng)建數(shù)據(jù)庫生成的列。該字段可在所有支持的數(shù)據(jù)庫后端上使用,以創(chuàng)建始終根據(jù)其他字段計(jì)算的字段。例如:
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 的發(fā)布,Django 4.2 已結(jié)束其 mainstream 支持,最后一個小錯誤修復(fù)版本4.2.8 已于昨天發(fā)布。Django 4.2 是 LTS 版本,會在 2026 年 4 月之前獲得安全和數(shù)據(jù)丟失修復(fù)。 此外,Django 4.1 的擴(kuò)展支持已結(jié)束。最終安全版本 (4.1.13) 于 11 月 1 日發(fā)布。建議所有 Django 4.1 用戶升級到 Django 4.2 或更高版本。
審核編輯:湯梓紅
-
Web
+關(guān)注
關(guān)注
2文章
1257瀏覽量
69368 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3767瀏覽量
64279 -
python
+關(guān)注
關(guān)注
56文章
4783瀏覽量
84473 -
Django
+關(guān)注
關(guān)注
0文章
43瀏覽量
10371
原文標(biāo)題:Django 5.0正式發(fā)布,最流行Python Web框架
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論