django:redis:CommandError:您尚未设置运行服务器所需的ASGI_APPLICATION



我正试图在django中创建套接字。我按照这个链接安装了asgi_redis。当我运行命令python manage.py runserver时,我得到了以下错误。

>python manage.py runserver
CommandError: You have not set ASGI_APPLICATION, which is needed to run the server.

由于我还没有启动redis,上面的错误可能是因为这个。我有点困惑,我需要单独安装Redis还是只需要启动Redis,因为我已经安装了asgi_Redis?

project/settings.py用于redis的文件条目。

CHANNEL_LAYERS = {
'default': {
'BACKEND': 'asgi_redis.RedisChannelLayer',
'CONFIG': {
'hosts': [('localhost', 6379)],
},
'ROUTING': 'example_channels.routing.channel_routing',
}
}

您应该为WebSocket服务器编写路由配置。在settings.py文件的同一文件夹中创建一个文件mysite/routing.py,并包含以下代码:

# mysite/routing.py
from channels.routing import ProtocolTypeRouter
application = ProtocolTypeRouter({
# (your routes here)
})

您也可能忘记将通道指向根路由配置。编辑mysite/settings.py文件,并在其底部添加以下内容:

ASGI_APPLICATION = 'mysite.routing.application'

相关内容

最新更新