Как предотвратить ошибку маршрутизации Django Channels?
Маршрут для проекта Django Channels, который я создаю, не работает, и на данный момент я не могу сказать почему. Мне кажется, что все в порядке, но я получаю одну и ту же ошибку от сервера снова и снова.
Я знаю, что есть что-то, чего мне не хватает, но что это может быть?
Установка ASG
import os
from channels.routing import ProtocolTypeRouter
from channels.routing import URLRouter
from channels.auth import AuthMiddlewareStack
from django.core.asgi import get_asgi_application
from chat import routing
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "base_app.settings")
# Handles routing protocols for Django Channels
application = ProtocolTypeRouter(
    {
        "http": get_asgi_application(),
        # Points root routing to chat/routing.py
        "websocket": AuthMiddlewareStack(URLRouter(routing.websocket_urlpatterns)),
    }
)
Маршрут каналов
# chat/routing.py
from django.urls import re_path, path
from .consumer import ChatConsumer
websocket_urlpatterns = [
    re_path(r"ws/chat/(?P<chat_id>\d+)/$", ChatConsumer.as_asgi()),
]
Каналы потребительские
Ошибка отслеживания
Exception inside application: No route found for path ''.
Traceback (most recent call last):
  File "c:\projects\chatter\venv\lib\site-packages\channels\staticfiles.py", line 44, in __call__
    return await self.application(scope, receive, send)
  File "c:\projects\chatter\venv\lib\site-packages\channels\routing.py", line 71, in __call__
    return await application(scope, receive, send)
  File "c:\projects\chatter\venv\lib\site-packages\channels\sessions.py", line 47, in __call__
    return await self.inner(dict(scope, cookies=cookies), receive, send)
  File "c:\projects\chatter\venv\lib\site-packages\channels\sessions.py", line 254, in __call__
    return await self.inner(wrapper.scope, receive, wrapper.send)
  File "c:\projects\chatter\venv\lib\site-packages\channels\auth.py", line 181, in __call__
    return await super().__call__(scope, receive, send)
  File "c:\projects\chatter\venv\lib\site-packages\channels\middleware.py", line 26, in __call__
    return await self.inner(scope, receive, send)
  File "c:\projects\chatter\venv\lib\site-packages\channels\routing.py", line 168, in __call__
    raise ValueError("No route found for path %r." % path)
ValueError: No route found for path ''.
WebSocket DISCONNECT / [127.0.0.1:3378]
                
Попробуйте это:
 Сначала импортируйте класс AllowedHostsOriginValidator из channels.security.websocket
from channels.security.websocket import AllowedHostsOriginValidator
 затем передайте класс AuthMiddlewareStack в AllowedHostsOriginValidator.
# Handles routing protocols for Django Channels
application = ProtocolTypeRouter(
    {
        "http": get_asgi_application(),
        # Points root routing to chat/routing.py
        "websocket": AllowedHostsOriginValidator
           AuthMiddlewareStack(
              URLRouter(routing.websocket_urlpatterns)
           )
        ),
    }
)