django使用channels实现通信的示例


Posted in Python onOctober 19, 2020

1.安装依赖包

pip install channels channels-redis

2.settings.py 修改加上支持

INSTALLED_APPS = [
  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'MyWeb.apps.MywebConfig',
  "channels",
]

django使用channels实现通信的示例

首先需要建立一个django项目。其中在你自己的app下面 生成consumers.py和routing.py配置文件。

consumers.py:相当于django的视图,也就是说所有的websocket路由过来的执行的函数都在consumers.py类似于django的视图views.py

routing.py:是websocket中的url和执行函数的对应关系。相当于django的urls.py,根据映射关系,当websocket的请求进来的时候,根据用户的请求来触发我们的consumers.py里的方法。

3.安装redis

redis 安装配置默认密码

yum install -y redis

[root@localhost ~]# vim /etc/redis.conf 开启远程
bind 0.0.0.0 
protected-mode no

redis-cli -h 192.168.1.20 -p 6379

4.接着配置settings.py 最底部加上这条。

django使用channels实现通信的示例

CHANNEL_LAYERS = {
  'default': {
    'BACKEND': 'channels_redis.core.RedisChannelLayer',
    'CONFIG': {
      "hosts": [('192.168.1.20', 6379)],
    },
  },
}

ASGI_APPLICATION = "MyWeb.routing.application"

接着简单的写一下,routing.py 里面

from channels.routing import ProtocolTypeRouter

application = ProtocolTypeRouter({
  # Empty for now (http->django views is added by default)
})

进入django shell 测试是否能连接到数据库

(venv) C:\Users\LyShark\PycharmProjects\MyProject>manage.py shell
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> import channels.layers
>>> channel_layer = channels.layers.get_channel_layer()
>>> from asgiref.sync import async_to_sync
>>> async_to_sync(channel_layer.send)('test_channel', {'type': 'hello'})
>>> async_to_sync(channel_layer.receive)('test_channel')
{'type': 'hello'}
>>>

以上就是django使用channels实现通信的示例的详细内容,更多关于channels实现通信的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python实现爬虫统计学校BBS男女比例(一)
Dec 31 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
Django的分页器实例(paginator)
Dec 01 Python
pip matplotlib报错equired packages can not be built解决
Jan 06 Python
python抓取网页中链接的静态图片
Jan 29 Python
详解Tensorflow数据读取有三种方式(next_batch)
Feb 01 Python
如何利用python查找电脑文件
Apr 27 Python
Django项目中包含多个应用时对url的配置方法
May 30 Python
利用python库在局域网内传输文件的方法
Jun 04 Python
Python静态类型检查新工具之pyright 使用指南
Apr 26 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
Aug 09 Python
Python四款GUI图形界面库介绍
Jun 05 Python
python实现测试工具(二)——简单的ui测试工具
Oct 19 #Python
python实现测试工具(一)——命令行发送get请求
Oct 19 #Python
基于Python制作一副扑克牌过程详解
Oct 19 #Python
Python实现壁纸下载与轮换
Oct 19 #Python
Python调用REST API接口的几种方式汇总
Oct 19 #Python
Python爬虫抓取论坛关键字过程解析
Oct 19 #Python
python MD5加密的示例
Oct 19 #Python
You might like
改变Apache端口等配置修改方法
2008/06/05 PHP
Symfony2学习笔记之系统路由详解
2016/03/17 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
PHP二维关联数组的遍历方式(实例讲解)
2017/10/18 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
2019/10/22 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
2020/04/26 PHP
javascript实现的动态文字变换
2007/07/28 Javascript
js渐变显示渐变消失示例代码
2013/08/01 Javascript
jquery弹出关闭遮罩层实例
2013/08/06 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
2015/08/11 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
2016/03/30 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
从0搭建vue-cli4脚手架
2020/06/17 Javascript
vue实现从外部修改组件内部的变量的值
2020/07/30 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
[06:20]2015国际邀请赛第三日top10
2015/08/08 DOTA
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
Python实现字符串与数组相互转换功能示例
2017/09/22 Python
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
2017/12/20 Python
Python numpy实现二维数组和一维数组拼接的方法
2018/06/05 Python
手机使用python操作图片文件(pydroid3)过程详解
2019/09/25 Python
详解Python time库的使用
2019/10/10 Python
Django ORM实现按天获取数据去重求和例子
2020/05/18 Python
Python使用configparser读取ini配置文件
2020/05/25 Python
python 实现关联规则算法Apriori的示例
2020/09/30 Python
电气自动化大学生求职信
2013/10/16 职场文书
前台文员岗位职责及工作流程
2013/11/19 职场文书
小学生手册家长评语
2014/04/16 职场文书
关于清明节的演讲稿
2014/09/13 职场文书
2015年妇委会工作总结
2015/05/22 职场文书
忠诚与背叛观后感
2015/06/04 职场文书