使用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统计列表中的重复项出现的次数的方法
Aug 18 Python
python学习之编写查询ip程序
Feb 27 Python
python matplotlib 在指定的两个点之间连线方法
May 25 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
Jul 03 Python
Python3.7+tkinter实现查询界面功能
Dec 24 Python
Python hmac模块使用实例解析
Dec 24 Python
关于tensorflow的几种参数初始化方法小结
Jan 04 Python
从训练好的tensorflow模型中打印训练变量实例
Jan 20 Python
Python Selenium安装及环境配置的实现
Mar 17 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
May 22 Python
解决numpy和torch数据类型转化的问题
May 23 Python
Pycharm连接远程服务器并远程调试的全过程
Jun 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
PHP默认安装产生系统漏洞
2006/10/09 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
2007/03/10 Javascript
JS类定义原型方法的两种实现的区别评论很多
2007/09/12 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
8个超实用的jQuery功能代码分享
2015/01/08 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
jQuery实现不断闪烁文字的方法
2015/05/15 Javascript
Bootstrap每天必学之进度条
2015/11/30 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
javascript中的闭包概念与用法实践分析
2019/07/26 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
layui前端时间戳转化实例
2019/11/15 Javascript
vue+springboot图片上传和显示的示例代码
2020/02/14 Javascript
Node.js API详解之 console模块用法详解
2020/05/12 Javascript
ant design vue 表格table 默认勾选几项的操作
2020/10/31 Javascript
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
python对字典进行排序实例
2014/09/25 Python
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
2017/05/31 Python
python中如何使用正则表达式的非贪婪模式示例
2017/10/09 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
2019/04/15 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
python交易记录整合交易类详解
2019/07/03 Python
python使用itchat模块给心爱的人每天发天气预报
2019/11/25 Python
Python3读取和写入excel表格数据的示例代码
2020/06/09 Python
大学生英语演讲稿
2014/04/24 职场文书
委托书格式
2014/08/01 职场文书
晚会开场白和结束语
2015/05/29 职场文书
导游词之贵州百里杜鹃
2019/10/29 职场文书
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle
实现AJAX异步调用和局部刷新的基本步骤
2022/03/17 Javascript