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