Django Channels - URL не найден только для одной конечной точки
Впервые использую django channels в новом проекте, он отлично работает для 5 других приложений. Я только что вернулся к нему, чтобы добавить вебсокет для нового приложения, но я не могу заставить django распознать url, я продолжаю получать "Not Found: /ws/globallayer/'. Я настроил все точно так же, как и для других приложений, я не знаю, может я просто забыл шаг для регистрации урлов или что-то еще, надеюсь, кто-то может увидеть что-то, что я упустил.
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/$',
consumers.GloballayerConsumer.as_asgi())
]
проект 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
)
),
})