我正在尝试使用Django构建聊天应用程序,但是当我尝试运行该应用程序时出现此错误
x[1]
我的routing.py文件是
No application configured for scope type 'websocket'
我的settings.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
)
),
})
当我在2个标签中打开URL时,我应该能够看到我在第一个标签中发布的消息出现在第二个标签中,但是我遇到了错误
ASGI_APPLICATION = 'mychat.routing.application'
CHANNEL_LAYERS = {
'default': {
'BACKEND': 'channels_redis.core.RedisChannelLayer',
'CONFIG': {
"hosts": [('127.0.0.1', 6379)],
},
},
}
我在stackoverflow上找不到这个问题的重复
答案 0 :(得分:0)
问题可能出在 asgi.py 中:
application = ProtocolTypeRouter({ "http": get_asgi_application(), "websocket": AuthMiddlewareStack( 网址路由器( chat.routing.websocket_urlpatterns ) ), # 现在只是 HTTP。 (我们可以稍后添加其他协议。) })