import os from channels.routing import ProtocolTypeRouter, URLRouter from channels.auth import AuthMiddlewareStack from django.core.asgi import get_asgi_application import api.routing from django.urls import re_path os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') # Initialize Django ASGI application early to ensure the AppRegistry # is populated before importing code that may import ORM models. django_asgi_app = get_asgi_application() application = ProtocolTypeRouter({ "http": django_asgi_app, # Just HTTP for now. (We can add other protocols later.) 'websocket': AuthMiddlewareStack( URLRouter( [re_path(r'ws/', URLRouter(api.routing.websocket_urlpatterns))] ) ), })