Задать вопрос
@Durilka96

Почему websocket не видит url?

почему не проходит по routing, в браузере смотрю json отправляется, а дальше сразу disconnect происходит.
62227f853da44340367782.png
chats.html
создаю вебсокет
const create_dialog_Socket = new WebSocket(
                'ws://'
                + window.location.host
                + '/ws/'
                + 'dialog_'
                + uniqua_dialog_id
                + '/'
            );

routing.py
Я думаю что я как-то не правильно в этом месте считываю ссылку
websockets_urlpatterns = [
    path('ws/<str:chat_name>/', consumers.ChatConsumer.as_asgi()),
    path('ws/<str:dialog_id>/', consumers.AddChatsConsumer.as_asgi()),
]

consumers.py
class AddChatsConsumer (AsyncWebsocketConsumer):



    async def connect(self):
        self.dialog_id = self.scope['url_route']['kwargs']['dialog_id']
        print("зашло")
        self.uniqua_dialog_id = self.dialog_id
        await self.channel_layer.group_add(
            self.uniqua_dialog_id,
            self.channel_name
        )
        await self.accept()

    async def disconnect(self):
        await self.channel_layer.group_discard(
            self.uniqua_dialog_id,
            self.channel_name
        )

    async def receive(self, text_data):
        data = json.loads(text_data)
        name = data['name']
        name_2 = data['name_2']


        await self.save_create_chats(name, name_2)

        await self.channel_layer.group_send(
            self.uniqua_dialog_id,
            {
                'type': 'create_chats',
                'name': name,
                'name_2': name_2,


            }
        )

    async def create_chats(self, event):
        name = event['name']
        name_2 = event['name_2']


        await self.send(text_data=json.dumps({
            'name': name,
            'name_2': name_2,

        }))

    @sync_to_async
    def save_create_chats(self, name, name_2):
        print("зашло")
        slug=0
        Chats.objects.create( name = name, name_2=name_2, slug=slug)
  • Вопрос задан
  • 128 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы