django-channels – 组发送不调用在”type”中定义的函数。

huangapple go评论158阅读模式
英文:

django-channels - group send does not call the function defined in "type"

问题

我有这个Consumer:

  1. class TableConsumer(AsyncWebsocketConsumer):
  2. async def connect(self):
  3. self.table_name = f'table_test'
  4. self.channel_name = f'channel_test'
  5. await self.accept()
  6. await self.channel_layer.group_add(
  7. self.table_name, self.channel_name
  8. )
  9. await self.manage_new_game_video()
  10. async def manage_new_game_video(self):
  11. await this.channel_layer.group_send(
  12. self.table_name, {"type": "chat_message", "message": "message"}
  13. )
  14. # Receive message from room group
  15. async def chat_message(self, event):
  16. print("test")
  17. message = event["message"]
  18. # Send message to WebSocket
  19. await self.send(text_data=json.dumps({"message": message}))

由于某种原因,print语句从未被执行,我不明白为什么。

为什么会发生这种情况?

谢谢。

英文:

I have this Consumer:

  1. class TableConsumer(AsyncWebsocketConsumer):
  2. async def connect(self):
  3. self.table_name = f'table_test'
  4. self.channel_name = f'channel_test'
  5. await self.accept()
  6. await self.channel_layer.group_add(
  7. self.table_name, self.channel_name
  8. )
  9. await self.manage_new_game_video()
  10. async def manage_new_game_video(self):
  11. await self.channel_layer.group_send(
  12. self.table_name, {"type": "chat_message", "message": "message"}
  13. )
  14. # Receive message from room group
  15. async def chat_message(self, event):
  16. print("test")
  17. message = event["message"]
  18. # Send message to WebSocket
  19. await self.send(text_data=json.dumps({"message": message}))

for some reason, the print statement is never executed and I don't understand why.

Why can that happen?

Thanks.

答案1

得分: 1

因为我重写了self.channel_name,所以它不起作用。

英文:

It is not working because I overrided self.channel_name.

huangapple
  • 本文由 发表于 2023年3月7日 19:09:00
  • 转载请务必保留本文链接:https://go.coder-hub.com/75661203.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定