Каналы Django — URL-адрес не найден только для одной конечной точки

#django #websocket #django-channels

Вопрос:

Я впервые использую каналы django в новом проекте, он отлично работает для 5 других приложений. Я только что вернулся к нему, чтобы добавить веб-сайт для нового приложения, но я не могу заставить django распознать URL-адрес, я продолжаю получать » Не найдено: /ws/globallayer/». Я настроил его точно так же, как и для других приложений, я не знаю, просто ли я забыл шаг для регистрации URL-адресов или что-то в этом роде, надеясь, что кто-то увидит что-то, что я пропустил.

consumers.py

 import json
from channels.generic.websocket import AsyncWebsocketConsumer


class GloballayerConsumer(AsyncWebsocketConsumer):
    async def connect(self):
        self.group_name = 'globallayer'

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

        await self.accept()

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

    async def globallayer_update(self, event):
        data = event['data']
        # Send message to WebSocket
        await self.send(text_data=json.dumps({
            'data': data
        }))
 

routing.py

 from django.urls import re_path

from . import consumers

websocket_urlpatterns = [
    re_path(r'^ws/globallayer/

файл проекта asgi.ppy

 all_websocket_urlpatterns = [
            # ... other websocket routes from different apps,
            *globallayer.routing.websocket_urlpatterns,
]
application = ProtocolTypeRouter({
  "http": get_asgi_application(),
  "websocket": AuthMiddlewareStack(
        URLRouter(
            all_websocket_urlpatterns
        )
    ),
})
 


,
consumers.GloballayerConsumer.as_asgi())
]
файл проекта asgi.ppy