Django利用Channels+websocket开发聊天室( 三 )


index.js文件:
document.querySelector('.chat[data-chat=person2]').classList.add('active-chat');document.querySelector('.person[data-chat=person2]').classList.add('active');var friends = {list: document.querySelector('ul.people'),all: document.querySelectorAll('.left .person'),name: '' },chat = {container: document.querySelector('.container .right'),current: null,person: null,name: document.querySelector('.container .right .top .name') };friends.all.forEach(function (f) {f.addEventListener('mousedown', function () {f.classList.contains('active') || setAciveChat(f);});});function setAciveChat(f) {friends.list.querySelector('.active').classList.remove('active');f.classList.add('active');chat.current = chat.container.querySelector('.active-chat');chat.person = f.getAttribute('data-chat');chat.current.classList.remove('active-chat');chat.container.querySelector('[data-chat="' + chat.person + '"]').classList.add('active-chat');friends.name = f.querySelector('.name').innerText;chat.name.innerHTML = friends.name;}
index.html文件:
{% load static from static %}聊天窗口界面


  • Django利用Channels+websocket开发聊天室

    文章插图
    {{admin_name}}I was wondering...
To: {{admin_name}}{{time}}
主要看使用的函数,首先进行请ws://127.0.0.1:8000/chat/{{}}/,然后分别的通过发送信息,接受信息 。
第九步,启动.py文件,同时打开两个页面观看效果:
可以看到,某个用户发送的信息,将会被服务器发送到同一聊天室的所有客户端,实现了信息推送的功能 。
但是要实现一对一聊天的功能,目前实现是没有思路,有大神看到烦请指点指点 。