我想带任何人连接到我们的服务器,并立即将他们与我们团队中的某个人连接,然后将他们两个都重定向到唯一的聊天页面。我不知道如何将他们与我们团队中的某人联系起来,并重定向他们两个。我被困在那部分。 我非常感谢您的帮助。
我尝试从使用者页面重定向,但无论如何似乎都行不通。它会转到重定向,然后什么也不做。然后,我尝试关闭套接字连接,然后重定向它们,但也没有用。 我对如何对它们进行分组并同时重定向它们都感到困惑。
consumers.py
class ChatConsumer(WebsocketConsumer):
def connect(self):
self.room_name = self.scope['url_route']['kwargs']['room_name']
self.room_group_name = 'chat_%s' % self.room_name
# Join room group
async_to_sync(self.channel_layer.group_add)(
self.room_group_name,
self.channel_name
)
self.accept()
# mine!
# finds which user just connected to the websocket
user = self.scope['user']
print(user)
ready.append(user)
# trying to group person online and from our team
# async_to_sync(self.channel_layer.group_add)(
# self.room_group_name,
# self.channel_name,
# ready[0],
# team[0],
# )
# trying different ways to redirect, none worked
# self.disconnect(close_code=redirect('https://www.yahoo.com/'))
# self.close()
# redirecting()
# ready.append(user)
# print(ready[0])
# self.disconnect(self.redirectIT('home'))
#
# raise channels.exceptions.StopConsumer
# redirect('room', 'hi')
# return redirecting()
# self.close()
# self.close()
我希望它可以将用户和我们团队中的某人分组,但这并没有发生,而是给我带来了错误,即它得到了超出所需参数的错误。重定向没有抛出任何错误,但没有任何作用。
答案 0 :(得分:0)
您应该在普通的django视图中执行所有操作。用户发送一个请求,您创建一个聊天,并与该用户一起添加一个团队成员。然后,直接从处理请求的django视图将用户重定向到聊天页面。当他进入页面时,现在应该使用频道通过websocket发送聊天消息。之前的所有操作都应在Django视图中完成