我正在研究一個django項目,其中涉及不同應用程序的頻道。第一個應用程序(從傳感器接收數據)具有它自己的消費者和路由,以及第二個應用程序(更新已登錄用戶的列表)。Django頻道 - 握手和連接,但websocket.connect函數未執行
在第一個應用程序內一切正常。
在第二個應用程序中握手完成並建立連接,但鏈接到websocket.receive
的功能未執行。
from channels.routing import route, route_class
from channels.staticfiles import StaticFilesConsumer
from users.consumer import ws_connect, ws_disconnect
channel_routing = [
route('websocket.connect', ws_connect, path=r'^/users/lobby/'),
...
]
和ws_connect
import json
from channels import Group
from channels.handler import AsgiHandler
from channels.auth import channel_session_user,
channel_session_user_from_http, channel_session
@channel_session_user_from_http
def ws_connect(message):
print('test')
的的ws_connect
print('test')
從不執行。此外,它甚至不關心我在JavaScript中使用什麼網址結束。
var ws = new WebSocket('ws://127.0.0.1:8000/users/lobby/');
ws.onopen = function() {
console.log('connect');
ws.send('connect');
}
的JavaScript的ws
將與.../users/lobby/
或.../users/
.../lobby/
連接。
感謝您的任何提示!