无法导入 ASGI_APPLICATION 模块 'myproject.routing'

Cannot import ASGI_APPLICATION module 'myproject.routing'

我已经按照第 2 频道的教程进行操作,但在 运行 py manage.py runserver

之后出现此错误
File "C:\Users\Mach2\AppData\Local\Programs\Python\Python37-32\lib\site-packages\channels\routing.py", line 35, in get_default_application
    raise ImproperlyConfigured("Cannot import ASGI_APPLICATION module %r" % path)
django.core.exceptions.ImproperlyConfigured: Cannot import ASGI_APPLICATION module 'channels_test.routing'

您需要将此行添加到 settings.py 文件。

ASGI_APPLICATION = "routing.application"

在此处找到:Cannot import ASGI_APPLICATION module while runserver using channels 2

我已经解决了错误,我使用的是 django 的 3.0.dev20190127224143 版本,我解决了回滚到 2.1.7 版本的问题

我有同样的错误,因为我错误地写了 consumer.py 而不是 consumers.py。然后我将其重命名为 consumers.py 并解决了错误。

  1. 将 routing.py 置于与 settings.py 相同的级别。

  2. 确保routing.py没有错误。您可以通过将内容替换为

    来查看它

    从 channels.routing 导入 ProtocolTypeRouter

    application = ProtocolTypeRouter({ })

看看是否解决了。

我遇到了同样的问题,因为我在未定义的 asgi.py 文件的导入中写了一个 class 名称。然后我删除了未定义的 class 身份验证,错误得到修复。

请检查您在 asgi.py 文件中定义的导入。

我自己是因为缺少一个名为 whitenoise,通过 pip 安装后一切正常

pip install whitenoise