Django 频道,属性错误

Posted

技术标签:

【中文标题】Django 频道,属性错误【英文标题】:Django channels, AttributeError 【发布时间】:2020-08-16 09:01:25 【问题描述】:

我正在尝试学习如何使用通道 2 通过 websocket 发送消息。

我试图在客户端连接时发送一条简单的消息,但我不断收到属性错误:

class CameraOnlineConsumer(JsonWebsocketConsumer):
    def connect(self):
        self.accept()
        return self.send(
            "type": "websocket.accept",
            "send": 'a': "Hi"
        )

加注:

self.sendMessage(content.encode("utf8"), binary)
AttributeError: 'dict' object has no attribute 'encode'
WebSocket DISCONNECT /ws/camera_online/connect [127.0.0.1:36006]

改为:

 return self.send(
            "type": "websocket.accept",
            "send": "Hi"
        )

例如,返回相同的错误。

【问题讨论】:

【参考方案1】:
Try convert it to json like this ..


 import json    
    class CameraOnlineConsumer(JsonWebsocketConsumer):
            def connect(self):
                self.accept()
                return self.send(json.dumps(
                    "type": "websocket.accept",
                    "send": 'a': "Hi"
                ))

【讨论】:

以上是关于Django 频道,属性错误的主要内容,如果未能解决你的问题,请参考以下文章