Django 4.2发布,主要变化小结!

2023年4月,Django 4.2正式发布,此版本已被指定为长期支持 (LTS) 版本,发布3年后都会收到安全更新,将成为未来3年的主流版本。今天就来一起看看新版本有哪些变化吧?

Python 兼容性

Django 4.2 支持 Python 3.8、3.9、3.10 和 3.11。我们强烈推荐 并且只正式支持每个系列的最新版本。

Psycopg 3 支持

Django 现在支持psycopg 3.1.8 或更高版本。要更新您的代码,请安装psycopg 库,您无需更改, ENGINE因为django.db.backends.postgresql 它支持这两个库。

对的支持psycopg2可能会在将来的某个时候被弃用和删除。

请注意,psycopg3 在 .x 基础上引入了一些重大变化psycopg2。因此,您可能需要进行一些更改以解决 与 psycopg2 的差异

对数据库的支持

对 MariaDB 10.3 的上游支持将于 2023 年 5 月结束。Django 4.2 支持 MariaDB 10.4 及更高版本。对 MySQL 5.7 的上游支持将于 2023 年 10 月结束。Django 4.2 支持 MySQL 8 及更高版本。对 PostgreSQL 11 的上游支持将于 2023 年 11 月结束。Django 4.2 支持 PostgreSQL 12 及更高版本。

对列和表的评论

新的Field.db_comment和 Meta.db_table_comment 选项允许分别在列和表上创建注释。例如:>

from django.db import models

class Question(models.Model): text = models.TextField(db_comment="Poll question") pub_date = models.DateTimeField( db_comment="Date and time when the question was published", )
class Meta: db_table_comment = "Poll questions"

class Answer(models.Model): question = models.ForeignKey( Question, on_delete=models.CASCADE, db_comment="Reference to a question", ) answer = models.TextField(db_comment="Question answer")
class Meta: db_table_comment = "Question answers"

BREACH 攻击的缓解措施

GZipMiddleware现在包括对 BREACH 攻击的缓解。它会将最多 100 个随机字节添加到 gzip 响应中,使 BREACH 攻击更加困难

内存文件存储

django.core.files.storage.InMemoryStorage类提供了一种非持久性存储,可通过避免磁盘访问来加快测试速度。

自定义文件存储

STORAGES设置允许配置多个自定义文件存储后端。它还控制用于管理 文件("default"密钥)和静态文件("staticfiles"密钥)的存储引擎。

从此版本开始,旧的DEFAULT_FILE_STORAGE和设置已弃用。STATICFILES_STORAGE

其它变化好像没有什么特别值得期待的,django粉丝们加油!

网站声明: 1.本站大部分资源搜集于网络,仅代表作者观点,如有侵权请提交修改。 2.网站内容仅网站站长做个人学习摘记,任何人不得用于其他商业用途,网站发表的内容全权归原作者所有。 3.有任何疑问,可以点击右侧边栏的联系QQ进行咨询 4.本网站部分内容来自于其他网站平台的,版权归原网站所有,本网站只作信息记录,自己学习使用,特此申明,本站用户也不得使用此信息内容做其他商业用途。
白丁学者 » Django 4.2发布,主要变化小结!

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据