我正在尝试将频道用于 django 应用程序。我已经安装了所有必需的依赖项(我认为)。我已经在 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。你能建议一个解决这个错误的方法吗?这是一个可能的解决方案,但 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",
},
}