0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python Web框架Django 5.0新特性

OSC开源社区 来源:OSC开源社区 2023-12-06 13:37 次阅读

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.name.label_tag }} {% if form.name.help_text %}
{{ form.name.help_text|safe }}
{% endif %} {{ form.name.errors }} {{ form.name }}
{{ form.email.label_tag }} {% if form.email.help_text %}
{{ form.email.help_text|safe }}
{% endif %} {{ form.email.errors }} {{ form.email }}
{{ form.password.label_tag }} {% if form.password.help_text %}
{{ form.password.help_text|safe }}
{% endif %} {{ form.password.errors }} {{ form.password }}
...

可简化为:

...
{{ form.name.as_field_group }}
{{ form.email.as_field_group }}
{{ form.password.as_field_group }}
...

数据库计算的默认值

新的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 的发布,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 或更高版本。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Web
    Web
    +关注

    关注

    2

    文章

    1238

    浏览量

    68465
  • 数据库
    +关注

    关注

    7

    文章

    3591

    浏览量

    63373
  • python
    +关注

    关注

    51

    文章

    4677

    浏览量

    83468
  • Django
    +关注

    关注

    0

    文章

    43

    浏览量

    10299

原文标题:Django 5.0正式发布,最流行Python Web框架

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    五大Python Web框架详解

    使用框架,可以让程序员以更少的代码实现自定义功能,还可以将更多的精力集中在业务逻辑上,更加的轻松便利!2018年主流的Python框架有以下5种:1.DjangoDjango是一个开源的Web
    发表于 02-06 17:17

    Web框架使用哪些编程语言?

    Web开发框架,有很多成熟的模板技术,如Django、flask等,选择Python开发Web应用,不但开发效率高,而且运行速度快。以上是常
    发表于 03-28 16:53

    Python爬虫与Web开发库盘点

    类,如BaseSpider、sitemap爬虫等3.Web框架Django算是Python web框架
    发表于 05-10 15:21

    专业python web编程工具

    Web开发者介绍基于Python的10大Web应用框架。1. CubicWebCubicWeb的最重要的支柱就是代码的可重用性。CubicWeb宣扬自己不仅是一个
    发表于 06-12 16:23

    Python技术学习之Django框架设计思想

    运算、人工智能、系统运维、金融以及图像GUI等领域,Django框架Python Web开发中常用的后台框架
    发表于 06-15 15:01

    零基础python学习之Django框架设计思想

    谈到在web应用领域,除了Python的语法,DjangoPython后台一个最重要的框架,那么,什么是软件
    发表于 07-20 14:39

    Python应用开发框架一览

    还自带服务器。 其它方面,Python拥有足够多的免费数据函数库、免费的Web网页模板系统、还有与Web服务 器进行交互的库、这些都可以设计到你的Web应用程序里面。 这篇文章列举了十
    发表于 10-10 11:39 1次下载

    python开发框架介绍

    一、Web框架 1.Django: 开源web开发框架,它鼓励快速开发,并遵循MVC设计,比较庞大,开发周期短。
    发表于 11-15 20:26 1912次阅读

    django是什么_django能做什么

    Django是一个开放源代码的Web应用框架,由Python写成。采用了MT‘V的框架模式,即模型M,模板T和视图V。它最初是被开发来用于管
    发表于 12-27 11:38 1.4w次阅读

    django快速搭建blog

    Django是一个基于MVC构造的框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(
    发表于 12-27 11:49 1637次阅读
    <b class='flag-5'>django</b>快速搭建blog

    python爬虫框架有哪些

    本视频主要详细介绍了python爬虫框架有哪些,分别是Django、CherryPy、Web2py、TurboGears、Pylons、Grab、BeautifulSoup、Cola。
    的头像 发表于 03-22 16:13 6460次阅读

    web开发中django快速使用指南

    使用python开发web中,使用Django,使你能够以最小的代价构建和维护高质量的Web应用。在Python各种
    的头像 发表于 05-05 22:19 2967次阅读
    <b class='flag-5'>web</b>开发中<b class='flag-5'>django</b>快速使用指南

    安利5个流畅自如的Python Web框架

    如今,可供选择的Python web框架有不少,能帮助你更快更轻松地创建web应用。本文就将为大家介绍一些更现代、使用更广泛的web
    的头像 发表于 07-02 17:15 2112次阅读

    python七天实战入门Django Web开发的PDF电子书免费下载

    为什么选择 Django 作为 Web 开发,因为……我喜欢\^_^||,哈哈,有点任性了。实际上,作为一个成熟的 Web 框架Django
    发表于 12-22 08:00 6次下载
    <b class='flag-5'>python</b>七天实战入门<b class='flag-5'>Django</b> <b class='flag-5'>Web</b>开发的PDF电子书免费下载

    Django的简单应用示例

    DjangopythonWeb应用框架,并于2008年发布了第一个版本,下面我们先来学习Django的简单应用示例。
    的头像 发表于 02-14 14:13 757次阅读
    <b class='flag-5'>Django</b>的简单应用示例