0

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

ソケットに接続しようとすると、次のエラーが発生します。

prefix, label = message['path'].strip('/').split('/') TypeError: タイプ str はバッファ API をサポートしていません

私はPython 3.4で作業を始めたばかりで、なぜこれが壊れるのかわかりません

4

1 に答える 1

2

message['path']文字列ではなくバイト オブジェクトのように見え、バイト オブジェクトに適用しようとするstrip()と、やや不可解なエラー メッセージが表示されます。代わりにmessage['path'].decode()、文字列に変換してから、ストリッピングと分割を行ってください。

Python 3.0 urllib.parse エラー「タイプ str はバッファ API をサポートしていません」も参照してください。

于 2016-03-21T21:46:18.887 に答える