参考资料:Django 用 Channels 支持 WebSockets

通常流行的 Django 与前端通过 Ajax 进行交互,但是网络通信技术更加发达的今天,点对点通信的交互越来越频繁,因此提供全双工通信的协议 WebSockets ,也需要融合到 Django 中来。

传统 Django 是基于 HTTP 协议,但是不支持 WebSockets。Django 在加入 Channels 之后,就可以用类似于传统 HTTP 协议的方式使用 WebSockets。

1 关于 Channels 的介绍

1.1 文字介绍

英文博客上介绍 2016年3月17日

Finally, Real-Time Django Is Here: Get Started with Django Channels

oschina 上在2016年3月24日完成的翻译

实时 Django 终于来了 —— Django Channels 入门指南

伯乐在线的转发

实时 Django 终于来了 —— Django Channels 入门指南

1.2 核心图片讲解

传统的 Django 就是介于 app 的 view 函数与浏览器的一个层。

traditional.png

为了支持 WebSockets,传统 Django 层变更成 Channels,而 Channels 这一部分又可以细分成两个层:channel 层(channel layer)与交互服务器(interface server)。

  • channel 层:负责把 http 消息与 web socket 消息分发给对应的消费者(即 view 函数)。
  • 交互服务器:与浏览器进行通信。
channels.png

2 文档

2.1 Django Channels 官方文档

Django Channels

2.2 Channels 正式成为 Django 的官方项目

Channels adopted as an official Django project

2.3 Channels 在 Github 上的发布状态

DEP 0007: Official Django Projects

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,678评论 6 427
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,322评论 19 139
  • 环境管理管理Python版本和环境的工具。p–非常简单的交互式python版本管理工具。pyenv–简单的Pyth...
    MrHamster阅读 9,228评论 1 61
  • 帅的人已经醒来拼搏,丑的人还在沉睡。 有颜,却偏要靠才华。 今天中午趁着吃外卖的功夫,看了一期《奇葩说》。第四季第...
    李爹阅读 6,353评论 14 10
  • 文/冷色灬旋律 此情可待成追忆,只是当时已惘然 小学一个玩的挺好的小哥们,记得是因为玻璃球相识,两个人因为球技在当...
    冷色灬旋律阅读 2,761评论 0 2