Django频道,AttributeError

问题描述

我正在尝试学习如何使用通道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"
        })

例如,返回相同的错误

解决方法

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"}
                }))