Django 4.2 (LTS) 发布,关键变更汇总!
Django 4.2于2023年4月正式发布。该版本被命名为长期支持(LTS)。它在发布3年后收到安全更新,并在未来3年内成为主流版本。今天我们就来看看新版本有哪些变化吧?
Python 兼容性
Django 4.2 支持 Python 3.8、3.9、3.10 和 3.11。我们仅推荐并官方支持每个系列的最新版本。
Psycopg 3 支持
Django 现在支持 psycopg 3.1.8 或更高版本。要更新代码,请安装 psycopg 库。您不需要更改 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 攻击缓解措施。它在 gzip 响应中添加了多达 100 个随机字节,使 BREACH 攻击变得更加困难
内存文件存储
新的 django.core.files.storage.InMemoryStorage 类提供持久存储,可以通过避免磁盘访问来加快测试速度。
自定义文件存储
新的存储设置允许配置多个自定义文件存储守护程序。它还控制用于管理文件(“默认密钥”)和静态文件(“staticfiles”密钥)的存储引擎。
从此版本开始,旧的 DEFAULT_FILE_STORAGE 和设置已弃用。 STATICFILES_STORAGE
其他变化似乎没有什么特别值得期待的,Django 粉丝们,加油!
鄂江狗,2023年4月
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。