使用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中函数的参数传递
Jun 21 Python
全面了解python中的类,对象,方法,属性
Sep 11 Python
Python与R语言的简要对比
Nov 14 Python
Django1.9 加载通过ImageField上传的图片方法
May 25 Python
python查看模块安装位置的方法
Oct 16 Python
python 求一个列表中所有元素的乘积实例
Jun 11 Python
Python 实现try重新执行
Dec 21 Python
python实现坦克大战
Apr 24 Python
python 异步async库的使用说明
May 04 Python
浅谈Python3中print函数的换行
Aug 05 Python
Python调用系统命令os.system()和os.popen()的实现
Dec 31 Python
使用OpenCV实现人脸图像卡通化的示例代码
Jan 15 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多用户读写文件冲突的解决办法
2013/11/06 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
JavaScript Array扩展实现代码
2009/10/14 Javascript
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
ECMAScript6中Map/WeakMap详解
2015/06/12 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
React-Native使用Mobx实现购物车功能
2017/09/14 Javascript
Vue多种方法实现表头和首列固定的示例代码
2018/02/02 Javascript
vue v-model动态生成详解
2018/06/30 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
JS实现商品橱窗特效
2020/01/09 Javascript
[59:08]Ti4 冒泡赛第二天 NEWBEE vs Titan 2
2014/07/15 DOTA
web.py在模板中输出美元符号的方法
2014/08/26 Python
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
使用Python的Twisted框架实现一个简单的服务器
2015/04/16 Python
Python实现学生成绩管理系统
2020/04/05 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
带你认识Django
2019/01/15 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
2019/01/23 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
ABOUT YOU匈牙利:500个最受欢迎的时尚品牌
2019/07/19 全球购物
PyQt 如何创建自定义QWidget
2021/03/24 Python
医院保洁服务方案
2014/06/11 职场文书
党的群众路线教育实践活动个人对照检查材料(企业)
2014/11/05 职场文书
招商银行工作证明
2015/06/17 职场文书