使用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 相关文章推荐
pyqt4教程之widget使用示例分享
Mar 07 Python
跟老齐学Python之字典,你还记得吗?
Sep 20 Python
Python发送以整个文件夹的内容为附件的邮件的教程
May 06 Python
Python学习笔记之if语句的使用示例
Oct 23 Python
人生苦短我用python python如何快速入门?
Mar 12 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
Jun 24 Python
Python爬虫学习之获取指定网页源码
Jul 30 Python
使用pyinstaller逆向.pyc文件
Dec 20 Python
Python爬虫爬取杭州24时温度并展示操作示例
Mar 27 Python
Python几种常见算法汇总
Jun 02 Python
matplotlib教程——强大的python作图工具库
Oct 15 Python
python 通过exifread读取照片信息
Dec 24 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
Yii分页用法实例详解
2014/12/04 PHP
浅谈PHP的反射API
2017/02/26 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
PHP hebrev()函数用法讲解
2019/02/21 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
扩展javascript的Date方法实现代码(prototype)
2010/11/20 Javascript
Javascript中定义方法的另类写法(批量定义js对象的方法)
2011/02/25 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
AngularJS Controller作用域
2017/01/09 Javascript
jQuery实现拖拽可编辑模块功能代码
2017/01/12 Javascript
函数四种调用模式以及其中的this指向
2017/01/16 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
2018/08/16 Javascript
详谈js的变量提升以及使用方法
2018/10/06 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
2019/04/20 Javascript
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
[01:08]DOTA2次级职业联赛 - Wings 战队宣传片
2014/12/01 DOTA
轻量级的Web框架Flask 中模块化应用的实现
2017/09/11 Python
Sanic框架应用部署方法详解
2018/07/18 Python
Python之列表实现栈的工作功能
2019/01/28 Python
Python pandas如何向excel添加数据
2020/05/22 Python
Django DRF APIView源码运行流程详解
2020/08/17 Python
Python 数据分析之逐块读取文本的实现
2020/12/14 Python
python switch 实现多分支选择功能
2020/12/21 Python
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
会计学自我鉴定
2014/02/06 职场文书
年会主持词结束语
2014/03/27 职场文书
2015年打非治违工作总结
2015/04/02 职场文书
个人维稳承诺书
2015/05/04 职场文书
民事辩护词范文
2015/05/21 职场文书
2016幼儿园教师年度考核评语
2015/12/01 职场文书
如何用python识别滑块验证码中的缺口
2021/04/01 Python
解决golang 关于全局变量的坑
2021/05/06 Golang
Java GUI编程菜单组件实例详解
2022/04/07 Java/Android
Java工作中实用的代码优化技巧分享
2022/04/21 Java/Android