我正在尝试使用django app的频道。我已经安装了所有必需的依赖项(我认为)。我在myapp / settings.py的INSTALLED_APPS上列出了“频道”。但是,我运行了daphne(daphne chat.asgi:channel_layer --port 8888
) - (cmd上没有错误消息),然后当我运行python manage.py runworker
时出现错误消息这说 - “channels.asgi.InvalidChannelLayerError:没有指定默认的BACKEND”。 。我是django的新手,我有asgi.py作为
import os
import channels.asgi
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "chat.settings")
channel_layer = channels.asgi.get_channel_layer()
但是在我的myapp / settings.py中,我已经指定了默认指定的BACKEND。您能建议一个解决此错误的方法吗? Here是一个可能的解决方案,但asgi_redis在我的django1.10中是最新的。我正试图在我的本地机器上运行myapp。
CHANNEL_LAYERS = {
"default": {
"BACKEND": "asgi_redis.RedisChannelLayer",
"CONFIG": {
#"hosts": [os.environ.get('REDIS_URL', 'redis://localhost:6379')],
},
"ROUTING": "myproject.myapp.routing.channel_routing",
},
}
答案 0 :(得分:0)
将其添加到settings.py
import asgi_redis
另外,请确保已安装Redis
pip install asgi_redis