【问题标题】:How to remove this error 'No application configured for scope type 'websocket''如何删除此错误'没有为范围类型'websocket'配置应用程序'
【发布时间】:2019-06-21 02:46:11
【问题描述】:

我正在尝试使用 Django 构建一个聊天应用程序,但是当我尝试运行它时出现此错误

No application configured for scope type 'websocket'

我的 routing.py 文件是

from channels.auth import AuthMiddlewareStack
from channels.routing import ProtocolTypeRouter , URLRouter
import chat.routing

application = ProtocolTypeRouter({
    # (http->django views is added by default)
    'websocket':AuthMiddlewareStack(
        URLRouter(
            chat.routing.websocket_urlpatterns
        )
    ),
})

我的 settings.py 是

ASGI_APPLICATION = 'mychat.routing.application'
CHANNEL_LAYERS = {
    'default': {
        'BACKEND': 'channels_redis.core.RedisChannelLayer',
        'CONFIG': {
            "hosts": [('127.0.0.1', 6379)],
        },
    },
}

当我在 2 个选项卡中打开我的 URL 时,我应该能够看到我在第一个选项卡中发布的消息出现在第二个选项卡中,但出现错误

[Failure instance: Traceback: <class 'ValueError'>: No application configured for scope type 'websocket'
/home/vaibhav/.local/lib/python3.6/site-packages/autobahn/websocket/protocol.py:2801:processHandshake
/home/vaibhav/.local/lib/python3.6/site-packages/txaio/tx.py:429:as_future
/home/vaibhav/.local/lib/python3.6/site-packages/twisted/internet/defer.py:151:maybeDeferred
/home/vaibhav/.local/lib/python3.6/site-packages/daphne/ws_protocol.py:82:onConnect
--- <exception caught here> ---
/home/vaibhav/.local/lib/python3.6/site-packages/twisted/internet/defer.py:151:maybeDeferred
/home/vaibhav/.local/lib/python3.6/site-packages/daphne/server.py:198:create_application
/home/vaibhav/.local/lib/python3.6/site-packages/channels/staticfiles.py:41:__call__
/home/vaibhav/.local/lib/python3.6/site-packages/channels/routing.py:61:__call__
]
WebSocket DISCONNECT /ws/chat/lobby/ [127.0.0.1:34724]

我在 stackoverflow 上找不到此问题的重复项

【问题讨论】:

标签: javascript django django-channels


【解决方案1】:

问题可能出在 asgi.py 中:

应用程序 = ProtocolTypeRouter({ "http": get_asgi_application(), "websocket": AuthMiddlewareStack( 网址路由器( chat.routing.websocket_urlpatterns ) ), # 现在只是 HTTP。 (我们可以稍后添加其他协议。) })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-20
    • 2012-08-01
    • 2019-01-04
    • 1970-01-01
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    相关资源
    最近更新 更多