Django Channels Group.send在python控制台中不工作?
我在python控制台中尝试了Django Channels Group.send在python控制台中不工作?,python,django,django-channels,Python,Django,Django Channels,我在python控制台中尝试了Group(groupname).send,但似乎不起作用。为什么会这样 这是我的consumers.py安排: def ws_connect(message): message.reply_channel.send({"accept": True}) Group(secure_group).add(message.reply_channel) def ws_receive(message): # Nothing to do here
Group(groupname).send
,但似乎不起作用。为什么会这样
这是我的consumers.py安排:
def ws_connect(message):
message.reply_channel.send({"accept": True})
Group(secure_group).add(message.reply_channel)
def ws_receive(message):
# Nothing to do here
Group(secure_group).send({
"text": "Received {}".format(message.content['text'])
})
def ws_disconnect(message):
Group(secure_group).discard(message.reply_channel)
路由:
from channels.routing import route
from App.consumers import (
ws_connect,
ws_receive,
ws_disconnect
)
channel_routing = [
route("websocket.connect", ws_connect),
route("websocket.receive", ws_receive),
route("websocket.disconnect", ws_disconnect),
]
终端命令:
from channels import Group
#import secure_group here
Group(secure_group).send({ "text": "Tester" })
我所有的客户都从未收到过文本
CHANNEL\u层
config:
CHANNEL_LAYERS = {
"default": {
"BACKEND": "asgiref.inmemory.ChannelLayer",
"ROUTING": "App.routing.channel_routing",
},
}
Inmemory
通道层不支持跨进程通信
。您不能在其他终端执行组发送。尝试使用Redis后端,您可以发送消息
从文档
中,您可以从settings.py
中判断您的CHANNEL\u层
配置是什么?更新为CHANNEL\u层
。