Ошибка соединения WebSocket при создании приложения для чата с помощью Django

Я работаю над приложением для чата, которое является веб-клоном Whatsapp. Я застрял с соединением websocket, так как оно не может подключиться к указанному адресу. Я получаю ошибку WebSocket connection to 'ws://127.0.0.1:8000/ws/2/' failed:. Указанный url - это потому, что я использую идентификатор пользователя для создания имени комнаты в файле consumers.py.
. Вот часть файла consumers.py:

class PersonalChatConsumer(AsyncWebsocketConsumer):
    async def connect(self):
        my_id = self.scope['user'].id
        other_user_id = self.scope['url_route']['kwargs']['id']
        if int(my_id) > int(other_user_id):
            self.room_name = f'{my_id}-{other_user_id}'
        else:
            self.room_name = f'{other_user_id}-{my_id}'

        self.room_group_name = 'chat_%s' % self.room_name

        await self.channel_layer.group_add(
            self.room_group_name,
            self.channel_name
        )

Внутри файла asgi.py у меня есть такой код;

application = ProtocolTypeRouter({
    'websocket': AuthMiddlewareStack(
        URLRouter([
            path('ws/<int:id>/', PersonalChatConsumer)
        ])
    )
})

Также здесь приведена часть javascript-файла, обрабатывающего подключение по websocket:

const id = JSON.parse(document.getElementById('json-username').textContent);
const message_username = JSON.parse(document.getElementById('json-message-username').textContent);

const socket = new WebSocket(
    'ws://'
    + window.location.host
    + '/ws/'
    + id
    + '/'
);

Сообщение об ошибке в консоли VsCode гласит Not Found: /ws/2/. Также здесь находится файл urls:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/', include(('accounts.urls', 'accounts'), namespace='accounts')),
    path('', index, name='home'),
    path('<str:username>/', chatPage, name='chat'),
]

Любая помощь будет высоко оценена. Спасибо

Наконец-то мне удалось решить эту проблему. Я понял, что все работало нормально, кроме сервера redis. Я решил эту проблему, запустив redis-server напрямую вместо использования docker. Вот ссылка на вопрос, который дал мне решение: Способ избежать Docker на каналах Django

Вернуться на верх