Как настроить каналы Django self.scope ["user"] с помощью Javascript (React) - PullRequest
0 голосов
/ 22 ноября 2018

Я использую следующие технологии:

Каналы Django 2.1.2, ReactJS + пакет пересоединения websocket

Для consumer.py

class ChatConsumer(AsyncConsumer):
    async def websocket_connect(self, event):
        me = self.scope['user']
        print(str(self.scope['user']))

Для маршрутизации.py

application = ProtocolTypeRouter({
    # (http->django views is added by default)
    'websocket': AllowedHostsOriginValidator(
        AuthMiddlewareStack(
            URLRouter(
                [
                    url(r"^chat/(?P<user_id>[0-9]+)/$", ChatConsumer),
                ]
            )
        )
    )
})

Для ReactJS я соединяюсь с сокетом с

import ReconnectingWebSocket from 'reconnecting-websocket'

...

const rws = new ReconnectingWebSocket('ws://127.0.0.1:8000/chat/30/')  

Но Django не подхватывает ни одного пользователя в области видимости?

Для React я храню пользователя и токен в куки.

Я считаю, что это ошибка ReactJS, но кто-нибудь может мне помочь?Спасибо!

...