首页 > 解决方案 > 如何在 django-channels 中使用多个路由文件?

问题描述

我正在制作一个项目,其中我在两个不同的应用程序中使用通道。但是如何为每个应用程序制作两个不同的路由文件

import os
from channels.routing import ProtocolTypeRouter,URLRouter
from django.core.asgi import get_asgi_application
from channels.http import AsgiHandler
from channels.auth import AuthMiddlewareStack
from consultation import routings as consultation_routings
from chat import routings as chat_routings


os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'sqh.settings._base')

application = ProtocolTypeRouter({
    "http":AsgiHandler(),
    "websocket":AuthMiddlewareStack(
        URLRouter(
            consultation_routings.websocket_urlpatterns,
            chat_routings.websocket_urlpatterns,
        )
    )
})

当我在 asgi.py 中向 URLRouter 添加第二个路由文件地址时,它会引发以下错误:

    URLRouter(
TypeError: __init__() takes 2 positional arguments but 3 were given

标签: pythondjangochannels

解决方案


推荐阅读