Django 5.0 alpha 1


Django 5.0 首个 alpha 版本已发布,标志着进入功能冻结阶段。

主要变化

  • 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)

详情查看 Release Notes。


相關推薦

2023-12-06

Django 5.0 已正式发布。 根据 JetBrains 公布的 2022 Python 开发者调查结果,Python Web 框架的三巨头依旧是 Flask、Django 和 FastAPI。Django 和 Flask 的使用率排名并列第一。 Django 5.0 支持最新的 Python 版本,包括 Python 3.10、3

2022-07-01

后,以及 OCaml 4.14.0 发布三个月后,OCaml 5.0.0 发布了首个 Alpha 版本。 由于 OCaml 5.0 完全重写了 OCaml 运行时,这个 alpha 版本预计比常见的 alpha 版本更不稳定。特别是,字节码调试器 (bytecode debugger) 仅在下一个 alpha 版本中可用。

2022-05-31

Wayland 1.21 首个 Alpha 版本已发布,由于 Wayland 自身现在已相对稳定,并且没有太多的变动,而大部分繁重的工作(或 Wayland 支持库,如 libweston 和 wlroots)取决于各个 Wayland 合成器,Wayland 1.21 值得关注的一项新特性是添加对高精

2023-07-18

引签名别名,可以直接使用 } teamMap = TeamMap { a.fullName = "alpha" b.fullName = "bravo" } 在新版本中,运行 KCL 代码可以获得如下输出 $ kcl main.k teamMap: b: fullName: bravo name: b shortName: b a: fullName: alpha name: a shortName: a 更多信息详见 KCL 支

2022-11-22

在推出两个 Alpha 版本之后,OCaml 5.0.0 发布了首个 Beta 测试版。目前标准库已达到稳定状态,离正式版的发布越来越近。与上一个 alpha 相比,首个 Beta 版本包含许多小型的内部 runtime 修复补丁,尤其是在 systhreads 库中。 在用户

2022-08-05

Django 4.1 现已发布,支持 Python 3.8、3.9 和 3.10。一些亮点更新内容如下: ORM 的异步接口,以及在基于类的视图上定义异步处理程序的能力。 import asyncio from django.http import HttpResponse from django.views import View class AsyncView(View

2023-04-04

Django 团队宣布发布 Django 4.2,此版本已被指定为长期支持 (LTS) 版本,这意味着至少在未来三年内支持最新的安全和数据丢失修复程序,还将在接下来的八个月(直到 2023 年 12 月)内收到崩溃错误、新引入功能中的主要功能错误

2023-06-07

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

2023-09-10

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

2023-04-14

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

2023-08-01

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

2023-05-13

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

2023-07-06

和新翻译。自 Kiwi TCMS 12.4 以来的变化: 安全 将 django 从 4.2.2 更新到 4.2.3。修复 CVE-2023-36053 - ReDoS 漏洞 修补错误配置的 HTTP headers,允许存储的 XSS 执行。修复 CVE-2023-36809 清理 tree_view_html() 函数中的测试计划

2022-11-04

Django-Vue-Admin v2.0.6 已经发布,后台管理系统 此版本更新内容包括: 优化:用户管理中对部门信息的返回 优化:baseURL 修复:系统配置中,radio保存的值错误 优化:导出功能 新增:部门model中加入key字段,可以用于初始