我试图在https://blog.heroku.com/archives/2016/3/17/in_deep_with_django_channels_the_future_of_real_time_apps_in_django的帮助下使用django和渠道但是这段代码似乎与python 3.4不兼容
在我的ws_connect上:
@channel_session
def ws_connect(message):
prefix, label = message['path'].strip('/').split('/')
room = Room.objects.get(label=label)
Group('chat-' + label).add(message.reply_channel)
message.channel_session['room'] = room.label
尝试连接套接字时出现以下错误。
前缀,label = message ['path']。strip('/')。split('/') TypeError:类型str不支持缓冲区API
我刚开始使用python 3.4并且不知道为什么会中断
答案 0 :(得分:2)
看起来message['path']
是字节对象而不是字符串,并且尝试将strip()
应用于字节对象会产生相当神秘的错误消息。相反,请尝试message['path'].decode()
将其转换为字符串,然后进行剥离和拆分。
另见Python 3.0 urllib.parse error "Type str doesn't support the buffer API"