【3.0】Django框架初识

【一】Django框架版本

  • Django 是一个高级的Python Web框架,由荷兰人Armin Ronacher创建。
  • 随着版本的迭代和功能的不断优化,Django在处理异步请求方面也有了显著的进步。

【1】Django1.x

  • 默认不支持异步
  • Django 1.x主要集中在传统的Web开发上,其设计思想倾向于同步HTTP请求处理。
  • 默认情况下,并未内置对异步编程的支持,开发者若要在Django 1.x中实现异步处理,通常需要借助第三方库如django-celerydjango-tornado等来结合其他异步框架(如Celery、Tornado等)来实现后台任务的异步执行。

【2】Django2.x

  • 默认不支持异步
  • 在Django 2.x版本中,虽然核心框架并未直接提供对异步HTTP请求的支持,但已经开始引入一些异步相关的新特性和API,比如asgi (Asynchronous Server Gateway Interface) 标准的初步支持。
  • 开发者可以通过安装第三方ASGI服务器(如daphneuvicorn),配合channels库使用,来实现Websockets和消息队列等场景下的部分异步功能。

【3】Django3.x

  • 自带异步功能
  • Django 3.x标志着其正式对异步编程的支持,它引入了channels框架作为标准库的一部分,实现了全栈的WebSocket支持以及与asyncio的集成,使得开发者可以直接在视图层、消费者层以及中间件层面编写异步代码,提供了ASGIHTTP/2协议的底层支持。
  • 此外,django-redisdjango-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】近几年变化

1

【4】未来趋势

2

posted @ 2024-02-27 08:23  Chimengmeng  阅读(24)  评论(0编辑  收藏  举报
/* */