使用Python的Django和layim实现即时通讯的方法


Posted in Python onMay 25, 2018

看到Django和layim实现websocketde资料很少,自己就琢磨了下,顺便搭建出来了。自己要去找闲心大神授权呀。

先来看图

使用Python的Django和layim实现即时通讯的方法

这是初次搭建的,今天一天就搞定。我自己接入了图灵机器人。

Python这需要安装Django和dwebsocket,安装之后现在Django的settings里面将WEBSOCKET_ACCEPT_ALL=True写进去

@require_websocketdef send(request):
  for message in request.websocket:
  request.websocket.send(这里要String类型) # 发送消息到客户端12345

这段代码是后台接受即时消息的,需要有注解。

看一下前段js

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>LayIM测试</title>
  <link rel="stylesheet" href="../static/layui/css/layui.css" rel="external nofollow" media="all"></head><body><script src="../static/layui/layui.js"></script><script>
  layui.use('layim', function (layim) {
    var socket = new WebSocket('ws://localhost:8000/send');
    layim.config({
      init: {
        url: "/main",
        type: "get",
        data: {}
      },
      members: {
        url: "",
        type: 'post',
        data: {id: 1},
      }, isAudio: true
      , isVideo: true,
      right: "10px"
      //扩展工具栏
      , brief: false //是否简约模式(如果true则不显示主面板)

    });
    layim.on('sendMessage', function (res) {
      var mine = res.mine;
      socket.send(JSON.stringify({
        type: 'chatMessage' //随便定义,用于在服务端区分消息类型
        , data: res
      }));

    });
    socket.onmessage = function (res) {
      layim.getMessage({
        username: "图灵机器人"
        , avatar: "../static/img/100.jpg"
        , id: "1
        , type: "friend"
        , content: res.data
        , cid: 0
        , mine: false
        , fromid: "1"
      });
    };
  });
  </script>
</body>
</html>

我这里后台是直接将图灵机器人的回复发送到前台,就是这边就是只要解析一下就行

这样就可以基本实现。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python批处理删除和重命名文件夹的实例
Jul 11 Python
Python中分支语句与循环语句实例详解
Sep 13 Python
详解Python数据分析--Pandas知识点
Mar 23 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
Jun 13 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
Aug 06 Python
python实现简单日志记录库glog的使用
Dec 13 Python
基于TensorBoard中graph模块图结构分析
Feb 15 Python
python统计文章中单词出现次数实例
Feb 27 Python
Django ORM 查询表中某列字段值的方法
Apr 30 Python
在django中form的label和verbose name的区别说明
May 20 Python
Python基于time模块表示时间常用方法
Jun 18 Python
matplotlib subplots 调整子图间矩的实例
May 25 #Python
Matplotlib 生成不同大小的subplots实例
May 25 #Python
python opencv3实现人脸识别(windows)
May 25 #Python
基于python3 OpenCV3实现静态图片人脸识别
May 25 #Python
matplotlib savefig 保存图片大小的实例
May 24 #Python
python3连接MySQL数据库实例详解
May 24 #Python
python实现图片文件批量重命名
Mar 23 #Python
You might like
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
js复制网页内容并兼容各主流浏览器的代码
2013/12/17 Javascript
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
jquery中checkbox使用方法简单实例演示
2015/11/24 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
js仿搜狐视频记录片列表展示效果
2020/05/30 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
微信小程序实现左侧滑栏过程解析
2019/08/26 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
[13:21]DOTA2国际邀请赛采访专栏:RSnake战队国士无双,Fnatic.Fly
2013/08/06 DOTA
在Python3中初学者应会的一些基本的提升效率的小技巧
2015/03/31 Python
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
python中PIL安装简单教程
2016/04/21 Python
Django实现快速分页的方法实例
2017/10/22 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
对pandas将dataframe中某列按照条件赋值的实例讲解
2018/11/29 Python
python关于变量名的基础知识点
2020/03/03 Python
Python语法垃圾回收机制原理解析
2020/03/25 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
selenium携带cookies模拟登陆CSDN的实现
2021/01/19 Python
使用CSS3制作倾斜导航条和毛玻璃效果
2017/09/12 HTML / CSS
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
使用CSS3制作响应式导航菜单的方法
2015/07/12 HTML / CSS
阿提哈德航空官方网站:Etihad Airways
2017/01/06 全球购物
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
一道SQL存储过程面试题
2016/10/07 面试题
致短跑运动员广播稿
2014/01/09 职场文书
先进事迹报告会感言
2014/01/24 职场文书
教师简历自我评价
2014/02/03 职场文书
工商管理本科生求职信
2014/07/13 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
文言文辞职信
2015/02/28 职场文书
百万英镑观后感
2015/06/09 职场文书
2017大学生寒假社会实践心得体会
2016/01/14 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers
配置nginx负载均衡
2022/05/06 Servers