我已经将我的 django webapp 部署到我的 heroku 服务器,它工作正常,直到我添加了一个 websocket 连接,该连接在创建该对象后立即在单独的 url 中显示模型对象的内容。为此,我将 Django 频道与托管在 redislabs 上的 redis 服务器一起使用。要运行 asgi 应用程序,我尝试使用 daphne 服务器,但是当我尝试使用以下命令运行 daphne 服务器时
$daphne smartResturant.asgi:channel_layer --port 8888
,它显示
“django.core.exceptions.AppRegistryNotReady:尚未加载应用程序”
我的 asgi.py
import os
import django
from smartResturant.routing import get_default_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "smartResturant.settings")
django.setup()
application = get_default_application()
我的设置.py
ASGI_APPLICATION = 'smartResturant.routing.application'
CHANNEL_LAYERS = {
'default': {
'BACKEND': 'channels_redis.core.RedisChannelLayer',
'CONFIG': {
"hosts": ['redis://:xxxxxxxx@redis-13131.c85.us-east-1-2.ec2.cloud.redislabs.com:13131']
},
},
}
当我在本地运行而不使用 daphne 服务器时,它工作正常。但我发现要在托管服务器上运行基于 asgi 的应用程序,您必须使用 daphne 服务器,而我无法运行它。任何帮助将不胜感激!