我一直在遵循这个教程,在我的Django项目中实现一个实时聊天系统。我已经解决了很多问题。在
2018-02-26 19:45:34,241 - ERROR - worker - Error processing message with consumer TestApp.consumers.ws_receive:
Traceback (most recent call last):
File "/home/.virtualenvs/blog/lib/python3.5/site-packages/channels/worker.py", line 46, in run
consumer(message)
File "/home/.virtualenvs/blog/lib/python3.5/site-packages/channels/sessions.py", line 57, in inner
return func(message, *args, **kwargs)
File "/home/blog_dev/TutorsTalk/TestApp/consumers.py", line 23, in ws_receive
Group('chat-'+label).send({'text': json.dumps([m.as_dict()])})
AttributeError: 'Message' object has no attribute 'as_dict'
这个错误似乎只有在websocket数据被接收时才会出现,这就是为什么当我试图发送数据时,它被保存到数据库中。这意味着如果我在另一个浏览器上打开它或刷新页面,我就可以阅读这些消息。我还可以判断我的断开连接代码也可以工作,因为在Django开发控制台中,它告诉我ip何时从websocket断开连接。在
你可能知道我对这件事很陌生。这是我的密码消费者.py在
^{pr2}$我试过一些我认为可能有用的方法,但是没有用。请告诉我是否需要提供更多的信息。在
m是模型的实例,下面是将对象转换为dict的方法
我按照那个教程去做。将这些行粘贴到模型消息上。在
它会起作用的
您可以看到here,}方法。在
Message
类中没有定义{如果要获取消息内容,可以访问}。(这在
Message
实例的.content
属性来获取Message
内容{Message
类文档字符串中提到)修复:
相关问题 更多 >
编程相关推荐