使用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 类与元类的深度挖掘 I【经验】
May 06 Python
python爬虫实现教程转换成 PDF 电子书
Feb 19 Python
requests和lxml实现爬虫的方法
Jun 11 Python
python编程实现12306的一个小爬虫实例
Dec 27 Python
简单了解python模块概念
Jan 11 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
Mar 19 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
Oct 14 Python
Python后台管理员管理前台会员信息的讲解
Jan 28 Python
python实现对服务器脚本敏感信息的加密解密功能
Aug 13 Python
Python实现桌面翻译工具【新手必学】
Feb 12 Python
基于python图像处理API的使用示例
Apr 03 Python
5 分钟读懂Python 中的 Hook 钩子函数
Dec 09 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
Linux环境下php实现给网站截图的方法
2016/05/03 PHP
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
Javascript 面向对象 重载
2010/05/13 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
2016/02/02 Javascript
javascript表单控件实例讲解
2016/09/13 Javascript
js闭包用法实例详解
2016/12/13 Javascript
AngularJs表单校验功能实例代码
2017/02/09 Javascript
Bootstrap超大屏幕的实现代码
2017/03/22 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
Javascript继承机制详解
2017/05/30 Javascript
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
js 函数性能比较方法
2020/08/24 Javascript
vuex刷新后数据丢失的解决方法
2020/10/18 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
python选择排序算法的实现代码
2013/11/21 Python
python里大整数相乘相关技巧指南
2014/09/12 Python
python 使用 requests 模块发送http请求 的方法
2018/12/09 Python
python2.7实现复制大量文件及文件夹资料
2019/08/31 Python
用Python解数独的方法示例
2019/10/24 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
Maje德国官网:法国女性成衣品牌
2017/02/10 全球购物
存储过程的优缺点是什么
2015/01/10 面试题
电子商务个人职业生涯规划范文
2014/02/12 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js
Go 在 MongoDB 中常用查询与修改的操作
2021/05/07 Golang
mysqldump进行数据备份详解
2022/07/15 MySQL