Как я могу вложить URLRouter в Django-каналы - PullRequest
2 голосов
/ 21 мая 2019

Я пытался использовать django.urls.path и django.urls.include для структурирования URL-адресов в маршрутизации для django-channel .

Пример:

from django.urls import path, include

from .browser import routing as browser_routing


websocket_urlpatterns = [
    path('ws/v2/', include([
        path('browser/', browser_routing.urls),
    ])),
]
from channels.auth import AuthMiddlewareStack
from channels.routing import ProtocolTypeRouter, URLRouter
from my_channels import routing

application = ProtocolTypeRouter({
    'websocket': AuthMiddlewareStack(
        URLRouter(
            routing.websocket_urlpatterns,
        ),
    ),
})

Но я получил:

django.core.exceptions.ImproperlyConfigured:: include () не поддерживается в URLRouter,Вместо этого используйте вложенные экземпляры URLRouter.

Я нашел комментарий в документации, но примеров нет: https://channels.readthedocs.io/en/latest/releases/2.1.0.html?highlight=URLRouter#nested-url-routing

...