使用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之类的细节
Oct 13 Python
常见的在Python中实现单例模式的三种方法
Apr 08 Python
python遍历数组的方法小结
Apr 30 Python
使用Python3制作TCP端口扫描器
Apr 17 Python
Python程序运行原理图文解析
Feb 10 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
Apr 17 Python
Python简单实现网页内容抓取功能示例
Jun 07 Python
Python中的Django基本命令实例详解
Jul 15 Python
python修改txt文件中的某一项方法
Dec 29 Python
Python代码执行时间测量模块timeit用法解析
Jul 01 Python
Pycharm如何自动生成头文件注释
Nov 14 Python
Python 数据可视化之Bokeh详解
Nov 02 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
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
2008/11/18 PHP
PHP写杨辉三角实例代码
2011/07/17 PHP
PHP中通过语义URL防止网站被攻击的方法分享
2011/09/08 PHP
php中经典方法实现判断多维数组是否为空
2011/10/23 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
2016/01/05 PHP
jquery ready()的几种实现方法小结
2010/06/18 Javascript
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
动态加载jquery库的方法
2014/02/12 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
2014/04/12 Javascript
js实现同一页面多个不同运动效果的方法
2015/04/10 Javascript
JavaScript中Cookies的相关使用教程
2015/06/04 Javascript
解决jQuery上传插件Uploadify出现Http Error 302错误的方法
2015/12/18 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
Nodejs进阶:基于express+multer的文件上传实例
2016/11/21 NodeJs
AngularJS表单基本操作
2017/01/09 Javascript
vue如何将v-for中的表格导出来
2018/05/07 Javascript
微信小程序上传文件到阿里OSS教程
2019/05/20 Javascript
用webpack4开发小程序的实现方法
2019/06/04 Javascript
vue element-ui中table合计指定列求和实例
2020/11/02 Javascript
vue 基于abstract 路由模式 实现页面内嵌的示例代码
2020/12/14 Vue.js
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python在非root权限下的安装方法
2018/01/23 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
详解Django admin高级用法
2019/11/06 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
GitHub上值得推荐的8个python 项目
2020/10/30 Python
Python ellipsis 的用法详解
2020/11/20 Python
大专毕业生自我鉴定
2013/11/21 职场文书
检察院院长群众路线教育实践活动个人整改措施
2014/10/04 职场文书
教师三严三实心得体会
2014/10/11 职场文书
入党政审材料范文
2014/12/24 职场文书
关于上班时间调整的通知
2015/04/23 职场文书
采购员工作总结范文
2015/08/12 职场文书
详解Python魔法方法之描述符类
2021/05/26 Python