查看原文
其他

Django 3.0 将支持异步功能

(给Python开发者加星标,提升Python技能

转自:oschina

根据 Django 的项目目录,Django 异步功能草案(DEP 0009)已被技术委员会通过,预计将在 3.0 中正式引入。

该 DEP 主要关注 HTTP 中间件视图和 ORM,要在 Django 中添加异步支持,同时维护对同步 Python 的支持,并且将完全向后兼容。

最终会替换掉 Django 中的大多数阻塞部分,包括 Session、Auth、ORM 与 Handlers 等,使其原生支持异步。而同步 API 将继续存在并得到完全支持,其中一些最终将转变为原生异步代码的同步包装器。

ASGI 模式将 Django 作为原生异步应用程序运行,WSGI 模式将围绕每个 Django 调用运行单个事件循环,以使异步处理层与同步服务器兼容。

在这个改造的过程中,每个特性都会经历以下三个实现阶段:

  • Sync-only,只支持同步,也就是当前的情况

  • Sync-native,原生同步,同时带有异步封装器

  • Async-native,原生异步,同时带同步封装器

这一草案是 Django 贡献者 Andrew Godwin 于去年提出的,他认为在 Django 传统 MVC 模式中支持异步功能,将会弥补程序同步执行中上下文切换时间过长这一 Python 核心缺陷。

详情查看该 DEP(Django Enhancement Proposals,Django 增强草案):

https://github.com/django/deps/blob/master/accepted/0009-async.rst


推荐阅读

(点击标题可跳转阅读)

简化 Django 开发的八个 Python 包

Django 通道简要介绍


觉得本文对你有帮助?请分享给更多人

关注「Python开发者」加星标,提升Python技能

好文章,我在看❤️

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存