python - 使用通道 2 运行服务器时无法导入 ASGI_APPLICATION 模块
问题描述
我已按照频道教程进行操作,但在运行这些错误时抛出
包的版本是 channels==2.1.2 Django==2.0.4
我错过了什么? 在 settings.py
INSTALLED_APPS = [
"channels"
....
]
ROOT_URLCONF = 'myapp.urls'
ASGI_APPLICATION = "myapp.routing.application"
添加文件 mayapp/routing.py
from channels.routing import ProtocolTypeRouter
application = ProtocolTypeRouter({
# Empty for now (http->django views is added by default)
})
这是错误日志
System check identified no issues (0 silenced).
August 01, 2018 - 13:11:42
Django version 2.0.4, using settings 'myapp.local_settings'
Starting ASGI/Channels version 2.1.2 development server at http://127.0.0.1:8080/
Quit the server with CONTROL-C.
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7f71ecfb6400>
Traceback (most recent call last):
File "/home/vkchlt0192/myapp/lib/python3.5/site-packages/channels/routing.py", line 33, in get_default_application
module = importlib.import_module(path)
File "/home/vkchlt0192/myapp/lib/python3.5/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 986, in _gcd_import
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 956, in _find_and_load_unlocked
ImportError: No module named 'myapp.routing'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/vkchlt0192/myapp/lib/python3.5/site-packages/django/utils/autoreload.py", line 225, in wrapper
fn(*args, **kwargs)
File "/home/vkchlt0192/myapp/lib/python3.5/site-packages/channels/management/commands/runserver.py", line 80, in inner_run
application=self.get_application(options),
File "/home/vkchlt0192/myapp/lib/python3.5/site-packages/channels/management/commands/runserver.py", line 105, in get_application
return StaticFilesWrapper(get_default_application())
File "/home/vkchlt0192/myapp/lib/python3.5/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 'myapp.routing'
解决方案
在我的情况下,在不同的文件中导入错误。
你应该做的是
python manage.py shell
from mysite.routing import application
查看它产生的确切错误并尝试修复它
推荐阅读
- html - 当 box-sizing 是 content-box 时,为什么宽度包括边框?
- python - QListWidget 点击检查项目类型
- html - 全高侧导航栏在带 Flex 或 w3.css 的小屏幕上移动到主 div 下方
- reactjs - 菜单显示和折叠时平滑过渡
- permalinks - 11ty 分页返回文件结构中的数字 - 我如何防止这种情况发生?
- javascript - 如何将相同的关键帧动画名称应用于 2 类
- javascript - 使用 Javascript 循环遍历表格并从值创建对象
- python - 在较大的布尔张量/数组中查找 2D 布尔模式
- vue.js - Vuex,数组中对象的更新属性导致许多突变方法
- reactjs - 如何滚动到 Next.js 中的组件?