解決策
get_asgi_application()を呼び出す前に、色々インポートしているのが原因でした。
自分の場合は、おそらくアプリ内のrouting.pyをget_asgi_application()の呼び出し前にimportしていたからだと思います。
以下のように整理しました。
import os
from channels.routing import ProtocolTypeRouter, URLRouter
from django.core.asgi import get_asgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')
django_asgi_app = get_asgi_application()
from <django app> import routing
from ... import ...
application = ProtocolTypeRouter({
"http": django_asgi_app,
"websocket":AuthMiddlewareStack(
URLRouter(
routing.websocket_urlpatterns,
)
),
})
参考
https://stackoverflow.com/questions/53683806/django-apps-arent-loaded-yet-when-using-asgi
favorite
0
chat_bubble
0

プロモーション