1

我正在尝试将频道用于 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",
    },
}
4

1 回答 1

0

将此添加到您的顶部settings.py

import asgi_redis

另外,请确保您已安装 Redis

pip install asgi_redis
于 2017-02-15T01:54:29.683 回答