Python 如何将两个特定的人添加到特定的聊天中,然后将他们重定向到django频道聊天中的另一个页面
我想让任何人谁连接到我们的服务器,并立即连接到我们的团队中的人,他们重定向到一个独特的聊天页面。我不知道如何将他们与我们团队中的某个人联系起来,并重新引导他们。我被那部分卡住了。 我真的很感谢你的帮助 我尝试从消费者页面重定向,但无论我做了什么,这似乎都不起作用。它将到达重定向,然后什么也不做。然后我尝试关闭套接字连接,然后重定向它们,但也没有成功。 我被困在如何对它们进行分组和重定向的问题上 consumers.pyPython 如何将两个特定的人添加到特定的聊天中,然后将他们重定向到django频道聊天中的另一个页面,python,django,python-3.x,django-channels,channels,Python,Django,Python 3.x,Django Channels,Channels,我想让任何人谁连接到我们的服务器,并立即连接到我们的团队中的人,他们重定向到一个独特的聊天页面。我不知道如何将他们与我们团队中的某个人联系起来,并重新引导他们。我被那部分卡住了。 我真的很感谢你的帮助 我尝试从消费者页面重定向,但无论我做了什么,这似乎都不起作用。它将到达重定向,然后什么也不做。然后我尝试关闭套接字连接,然后重定向它们,但也没有成功。 我被困在如何对它们进行分组和重定向的问题上 consumers.py class ChatConsumer(WebsocketConsumer):
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()
我希望它能将用户和我们团队中的某个人分组,但这并没有发生,反而给了我错误,它得到了超出需要的参数。重定向没有抛出任何错误,但它没有做任何事情。您应该在正常的django视图中这样做。用户发送一个请求,您创建一个聊天室,并与用户一起向其中添加一个团队成员。然后,用户直接从处理请求的django视图重定向到聊天页面。当他到达该页面时,现在应该使用频道通过websocket发送聊天信息。之前的一切都应该在django视图中完成我不知道网站的任何一方是谁,我使用web套接字实时知道谁在频道上,然后将他们放在一起room@AugustusCaesar没什么区别。即使使用websocket,您也不会注意到新用户,直到他尝试像HTTP一样连接。您可以将用户重定向到聊天室,然后将websocket消息发送给团队成员(您应该已经知道该成员,否则您将如何联系他?)。顺便说一句,在最初的握手之后,WebSocket中没有重定向这样的事情,因为它纯粹是一个HTTP概念。