我正在尝试在 django 中创建套接字。我按照这个安装了asgi_redislink https://realpython.com/getting-started-with-django-channels/。
当我运行命令 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?
redis 的project/settings.py 文件条目。
CHANNEL_LAYERS = {
'default': {
'BACKEND': 'asgi_redis.RedisChannelLayer',
'CONFIG': {
'hosts': [('localhost', 6379)],
},
'ROUTING': 'example_channels.routing.channel_routing',
}
}
您应该为您的 WebSocket 服务器编写路由配置。创建文件mysite/routing.py
在同一文件夹中settings.py
文件并包含以下代码:
# mysite/routing.py
from channels.routing import ProtocolTypeRouter
application = ProtocolTypeRouter({
# (your routes here)
})
您也可能忘记将 Channels 指向根路由配置。编辑 mysite/settings.py 文件并将以下内容添加到其底部:
ASGI_APPLICATION = 'mysite.routing.application'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)