0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python Web框架Django 5.0新特性

OSC開源社區(qū) ? 來源:OSC開源社區(qū) ? 2023-12-06 13:37 ? 次閱讀

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 表單字段相關元素的渲染,例如標簽、小部件、幫助文本和錯誤等。 例如下面的模板:

...
{{ 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 }}
...

數(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 或更高版本。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Web
    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ū)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    五大Python Web框架詳解

    使用框架,可以讓程序員以更少的代碼實現(xiàn)自定義功能,還可以將更多的精力集中在業(yè)務邏輯上,更加的輕松便利!2018年主流的Python框架有以下5種:1.DjangoDjango是一個開源的Web
    發(fā)表于 02-06 17:17

    Web框架使用哪些編程語言?

    Web開發(fā)框架,有很多成熟的模板技術,如Django、flask等,選擇Python開發(fā)Web應用,不但開發(fā)效率高,而且運行速度快。以上是常
    發(fā)表于 03-28 16:53

    Python爬蟲與Web開發(fā)庫盤點

    類,如BaseSpider、sitemap爬蟲等3.Web框架Django算是Python web框架
    發(fā)表于 05-10 15:21

    Python技術學習之Django框架設計思想

    運算、人工智能、系統(tǒng)運維、金融以及圖像GUI等領域,Django框架Python Web開發(fā)中常用的后臺框架。
    發(fā)表于 06-15 15:01

    零基礎python學習之Django框架設計思想

    談到在web應用領域,除了Python的語法,DjangoPython后臺一個最重要的框架,那么,什么是軟件
    發(fā)表于 07-20 14:39

    Python應用開發(fā)框架一覽

    還自帶服務器。 其它方面,Python擁有足夠多的免費數(shù)據函數(shù)庫、免費的Web網頁模板系統(tǒng)、還有與Web服務 器進行交互的庫、這些都可以設計到你的Web應用程序里面。 這篇文章列舉了十
    發(fā)表于 10-10 11:39 ?1次下載

    python開發(fā)框架介紹

    一、Web框架 1.Django: 開源web開發(fā)框架,它鼓勵快速開發(fā),并遵循MVC設計,比較龐大,開發(fā)周期短。
    發(fā)表于 11-15 20:26 ?2076次閱讀

    django是什么_django能做什么

    Django是一個開放源代碼的Web應用框架,由Python寫成。采用了MT‘V的框架模式,即模型M,模板T和視圖V。它最初是被開發(fā)來用于管
    發(fā)表于 12-27 11:38 ?1.5w次閱讀

    django快速搭建blog

    Django是一個基于MVC構造的框架。但是在Django中,控制器接受用戶輸入的部分由框架自行處理,所以 Django 里更關注的是模型(
    發(fā)表于 12-27 11:49 ?1783次閱讀
    <b class='flag-5'>django</b>快速搭建blog

    python爬蟲框架有哪些

    本視頻主要詳細介紹了python爬蟲框架有哪些,分別是Django、CherryPy、Web2py、TurboGears、Pylons、Grab、BeautifulSoup、Cola。
    的頭像 發(fā)表于 03-22 16:13 ?6833次閱讀

    web開發(fā)中django快速使用指南

    使用python開發(fā)web中,使用Django,使你能夠以最小的代價構建和維護高質量的Web應用。在Python各種
    的頭像 發(fā)表于 05-05 22:19 ?3318次閱讀
    <b class='flag-5'>web</b>開發(fā)中<b class='flag-5'>django</b>快速使用指南

    安利5個流暢自如的Python Web框架

    如今,可供選擇的Python web框架有不少,能幫助你更快更輕松地創(chuàng)建web應用。本文就將為大家介紹一些更現(xiàn)代、使用更廣泛的web
    的頭像 發(fā)表于 07-02 17:15 ?2383次閱讀

    python七天實戰(zhàn)入門Django Web開發(fā)的PDF電子書免費下載

    為什么選擇 Django 作為 Web 開發(fā),因為……我喜歡\^_^||,哈哈,有點任性了。實際上,作為一個成熟的 Web 框架,Django
    發(fā)表于 12-22 08:00 ?6次下載
    <b class='flag-5'>python</b>七天實戰(zhàn)入門<b class='flag-5'>Django</b> <b class='flag-5'>Web</b>開發(fā)的PDF電子書免費下載

    Django的簡單應用示例

    DjangopythonWeb應用框架,并于2008年發(fā)布了第一個版本,下面我們先來學習Django的簡單應用示例。
    的頭像 發(fā)表于 02-14 14:13 ?1076次閱讀
    <b class='flag-5'>Django</b>的簡單應用示例

    基于Python 輕量級ORM框架

    ORM框架使用最廣泛的就是SQLAlchemy和Django自帶的ORM框架,但是SQLAlchemy的語法顯然相對Django的ORM框架
    的頭像 發(fā)表于 11-01 11:17 ?657次閱讀
    基于<b class='flag-5'>Python</b> 輕量級ORM<b class='flag-5'>框架</b>