Django Channels - Route not found

Я корпел над этим последние 4 дня и так и не смог подключить вебсокеты, всегда выдает Not found : ws/play/testroomcode

Это мой consumers.py:

from channels.generic.websocket 
import WebsocketConsumer from asgiref.sync 
import async_to_sync 
import json

class GameRoom(WebsocketConsumer):
    def connect(self,event):

    print('Websocket Received...',event)
    self.room_name = self.scope['url_route']['kwargs']['room_code']
    self.room_group_name = 'room_%s' % self.room_name
    print(self.room_group_name)

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

    self.accept()

    def receive(self,event):
    print('Websocket Received...',event)

    def disconnect(self,event):
    print('Websocket Disconnected...',event)

game/asgi.py

import osfrom django.core.asgi 
import get_asgi_applicationfrom channels.routingimport ProtocolTypeRouter, URLRouterfrom channels.auth 
import AuthMiddlewareStackfrom app1 
import routing  # Import your routingfrom app1.consumers import GameRoomfrom django.urls import path

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'game.settings')websocket_urlpatterns = [path('ws/play/<room_code>', GameRoom.as_asgi()),]

application = ProtocolTypeRouter({'http': get_asgi_application(),'websocket': AuthMiddlewareStack(URLRouter(websocket_urlpatterns)),})

game/settings.py

INSTALLED_APPS = ['channels','django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','app1',
] 

ASGI_APPLICATION = 'game.asgi.application' 
#WSGI_APPLICATION = 'game.wsgi.application'

 CHANNEL_LAYERS = {"default": {"BACKEND": "channels_redis.core.RedisChannelLayer","CONFIG": {"hosts": [("127.0.0.1", 6379)],  # Use quotes around the IP address},},}

Я пробовал следовать каждому руководству на YouTube, ничего не помогает, установил django, channel, channel-redis, виртуальное окружение, все возможные вещи в интернете, но так и не нашел, как его подключить.

Прочитал все решения на Stack Overflow, которые имеют похожие ошибки, как у меня, но ни одно из них не работает для меня.

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