【3.0】Django框架初识
【一】Django框架版本
- Django 是一个高级的Python Web框架,由荷兰人Armin Ronacher创建。
- 随着版本的迭代和功能的不断优化,Django在处理异步请求方面也有了显著的进步。
【1】Django1.x
- 默认不支持异步
- Django 1.x主要集中在传统的Web开发上,其设计思想倾向于同步HTTP请求处理。
- 默认情况下,并未内置对异步编程的支持,开发者若要在Django 1.x中实现异步处理,通常需要借助第三方库如
django-celery
或django-tornado
等来结合其他异步框架(如Celery、Tornado等)来实现后台任务的异步执行。
【2】Django2.x
- 默认不支持异步
- 在Django 2.x版本中,虽然核心框架并未直接提供对异步HTTP请求的支持,但已经开始引入一些异步相关的新特性和API,比如
asgi
(Asynchronous Server Gateway Interface) 标准的初步支持。 - 开发者可以通过安装第三方ASGI服务器(如
daphne
或uvicorn
),配合channels
库使用,来实现Websockets和消息队列等场景下的部分异步功能。
【3】Django3.x
- 自带异步功能
- Django 3.x标志着其正式对异步编程的支持,它引入了
channels
框架作为标准库的一部分,实现了全栈的WebSocket支持以及与asyncio
的集成,使得开发者可以直接在视图层、消费者层以及中间件层面编写异步代码,提供了ASGI
和HTTP/2
协议的底层支持。 - 此外,
django-redis
、django-socketio
等第三方库也进一步丰富了异步应用的构建能力。
【4】Django4.x
- 在Django 4.x版本之后,异步功能得到了持续加强和完善。
- 例如,在4.0中,
channels
框架进行了重大重构,使其更加轻量级和模块化,同时引入了websockets
库作为默认WebSocket支持,大大简化了开发者配置和使用的复杂度。 - 此外,对于长期支持计划(LTS)版本,Django会确保异步相关的API和工具在后续更新中得到稳定且兼容的维护和支持,以满足现代Web应用对高性能、低延迟的需求。
【二】推荐学习
【1】推荐版本
- 学习基于Django2.x/3.x版本即可
- 我们使用的版本是 3.2.12
【2】推荐原因
- Django1.x在老项目中使用频率最高、最广泛的版本!!!
- Django2.X功能几乎一致
- Django3.X最主要的区别在于新增了一个异步的功能
- 近几年随着技术的迭代和进步,大部分的企业项目已经完成了最基础的迭代,所以学习Django1.x太过于古老
- 我们选择学习低于最新版本的下一个版本 Django 3.x 版本
- Django3.x和Django2.x在语法上区别不大,主要是对某些功能进行了优化,所以问题不大
【3】近几年变化
【4】未来趋势
本文来自博客园,作者:Chimengmeng,转载请注明原文链接:https://www.cnblogs.com/dream-ze/p/18036052