Проблема с отправкой данных между 2 классами областей видимости в Django Channels
Я впервые использую каналы django и не могу разобраться в некоторых вопросах. Вот что я пытаюсь сделать; я хочу создать новое сообщение в ChatConsumer, что все хорошо и прекрасно. Проблема возникает, когда я пытаюсь передать id чата, в котором было создано новое сообщение. Я не получаю никаких ошибок, обратной связи или чего-либо еще. Просто происходит молчаливый сбой.
Здесь находится кодовая база
Вот экземпляр ChatListConsumer, предназначенный для получения и обработки этого списка
class ChatListConsumer(WebsocketConsumer):
def connect(self):
user = self.scope['user'] # get user on start of connection
self.room_group_name = f"user_{user.id}" # add each user to their own group while they're online
async_to_sync(self.channel_layer.group_add)(
self.room_group_name,
self.channel_name
) # add group
self.accept()
print(self.room_group_name)
self.send(text_data=json.dumps({
'type' : 'connected',
'message':'You have been connected'
}))
def receive(self, text_data):
data = json.loads(text_data)
print(data)
def new_message_signal(self, event): # receive signal from other consumer
print(event)
chat_id = event['chat_id'] # id of chat to send back to front-end
print(f"Chat is of new chat is {chat_id}.")# nothing happens
Ничего не происходит. Оба канала работают независимо друг от друга. Я могу посылать и отправлять сообщения как в чат, так и в глобальный сокет по отдельности. Просто когда я пытаюсь передать из чата в глобал, то ничего не получается.