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 に答える