导入错误:没有名为 asgi 的模块

新手上路,请多包涵

为什么 :

 from channels.asgi import get_channel_layer

结果是 :

 from channels.asgi import get_channel_layer
ImportError: No module named asgi

我正在使用 Django (1.9) 和 python(3.4)。而且,在 pycharm 中编辑时,我看到 IDE 正在为我提供快速提示。

原文由 sivabalan19 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
1 个回答

我能够解决这个问题;如果您使用的是通道 2,则通道层与旧版本有很大不同。

我建议您尝试以下操作:

  1. 确认您已在 settings.py 上配置通道层:
    CHANNEL_LAYERS = {
       "default": {
           "BACKEND": "channels_redis.core.RedisChannelLayer",
           "CONFIG": {
               "hosts": [("redis-server-name", 6379)],
           },
       },
   }

如果使用 redis,希望你已经安装了 redis。

  1. 将通道层添加到 asgi.py 文件:
    from channels.layers import get_channel_layer

   channel_layer = get_channel_layer()

你可以看到 这个 解决方案。

原文由 Sylvia Onwukwe 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进