视频加载失败

Django框架初识

726 字
4 分钟
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】未来趋势#

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
Profile Image of the Author
Dream
Hello, I'm Dream.
公告
欢迎来到我的博客!爱学习爱进步。
分类
标签
最新动态
站点统计
文章
300
分类
5
标签
26
总字数
640,882
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Vercel
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录