Django是广受欢迎的 Python Web 框架,最近发布了Django 6.0版本,带来了专注于开发者需求的新特性、安全增强以及性能改进,旨在现代化 Web 应用开发。
Django 6.0 引入了几项重要特性,包括内置的后台任务框架、原生的内容安全策略(Content Security Policy,CSP)支持、基于组件开发的模板局部文件(partials),并采用了 Python 的现代化邮件 API。此版本同时支持Python 3.12、3.13 和 3.14,但不再支持 Python 3.10 和 3.11。
Django 6.0 提供了内置的任务框架,允许在 HTTP 请求-响应周期之外运行代码,无需依赖像Celery这样的第三方库。这使得开发者可以将发送邮件或数据处理等工作卸载到后台 worker 执行。
定义完成之后,任务可以通过配置好的后端进行排队。Django 负责任务的创建和排队,不过执行仍需外部的基础设施来管理。社区对这一特性的反应非常积极,有Hacker News用户评论说:“我喜欢 Django,新的任务框架看起来很棒,有望取代 Celery。”
在Reddit上,一位开发者这样写到:“我对内置的后台任务最为兴奋,期待对其进行测试。”不过,也有一些用户批评了该框架的默认配置过于简单:
很失望新后台任务没有像最初的 django-task 那样提供一个基本的数据库后端和 worker。这对许多只需要发送一些邮件和运行一些定时任务的基础应用程序来说是个遗憾。
这本来可以满足大量基础应用的需求,比如,你可能只需要它们发送一些邮件、运行一些定时任务(cron jobs)。
Django 6.0 还引入了对内容安全策略(CSP)的内置支持,使得让 web 应用免受跨站脚本和其他内容注入攻击变得更加容易。CSP 策略可通过ContentSecurityPolicyMiddleware实现,并通过 Python 字典和 Django 提供的常量配置。
模板局部文件是另一大增强,允许开发者在模板文件中封装并重用已命名的片段。新的partialdef和partial标签使得模板更加模块化,而不需要将组件分割到单独的文件中。
此次发布还包括对异步支持的改进,比如,AsyncPaginator和AsyncPage类,扩展了跨数据库后端的支持功能,例如,现在除了 PostgreSQL 外也可使用的 StringAgg,以及带有新几何函数和查询的增强 GIS 功能。
对于从早期版本迁移过来的开发者,Django 提供了详细的升级指南。
Django 是一个由 Django 软件基金会开发和维护的开源 Web 框架,强调快速开发、简洁设计及实用解决方案来构建 Web 应用。它支持传统的服务器渲染应用和现代 API 驱动架构,被广泛应用于众多高流量网站,并且横跨多个行业。
原文链接:
Django Releases Version 6.0 with Built-In Background Tasks and Native CSP Support





