Каналы Django - Группа

Если в группе два канала, то после group_send событие chat.message обрабатывается chat_message... и это происходит для обоих каналов, потому что я печатаю названия каналов и получаю два разных названия... но UI обновляется только для одного потребителя, да и то дважды, в то время как другой потребитель не показывает никаких изменений.

В моем коде на стороне клиента есть функция onmessage, которая отвечает за обновление UI. В идеальном случае, если у меня есть два канала в одной группе, то сообщение должно быть передано обоим, и таким образом UI обоих потребителей должен быть обновлен.

class MyWebsocketConsumer(WebsocketConsumer):
    def connect(self):
        print("Connected...",self.channel_name)
        self.group_name = self.scope['url_route']['kwargs']['group_name']
        # print('Group Name...',self.group_name)

        async_to_sync(self.channel_layer.group_add)(self.group_name, self.channel_name)

        self.accept()

    def receive(self, text_data=None, bytes_data=None):
        async_to_sync(self.channel_layer.group_send)(self.group_name,{
        "type": "chat.message",
        "msg": text_data,
    },)
        
    def chat_message(self,event):
        self.send(text_data = event['msg'])
        print(self.channel_name)


    def disconnect(self, close_code):
        async_to_sync(self.channel_layer.group_discard)(self.group_name, self.channel_name)


ws.onmessage = function(event){
            console.log('Message recived from server...', event)

            document.getElementById('chat-log').value += (event.data + '\n')
}
Вернуться на верх