【问题标题】:django runserver works, but with daphne there's an errordjango runserver 可以工作,但是使用 daphne 会出现错误
【发布时间】:2020-04-30 03:22:01
【问题描述】:

我有一个 django 网站,其中包含在我的本地计算机上运行的 websockets 频道。我可以拨打python manage.py runserver 并且网站运行良好,前端websocket 连接可以从后端服务器发送和接收。但是,当我将 django 代码包装在 daphne 调用中时,它会引发错误:

daphne -b 0.0.0.0 backend.app_proj.asgi:application

File "c:\projects\injurycheck\v1\lib\site-packages\django\__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS)
File "c:\projects\injurycheck\v1\lib\site-packages\django\apps\registry.py", line 91, in populate app_config = AppConfig.create(entry)
File "c:\projects\injurycheck\v1\lib\site-packages\django\apps\config.py", line 90, in create module = import_module(entry)
File "C:\Program Files\Python38\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'pipeline' 

谁能说出为什么网站在runserver下可以正确构建,但在daphne里面却找不到实际包含在INSTALLED_APPS中的应用?

【问题讨论】:

  • 是您的manage.py,相对于它的“管道”模块在哪里,这看起来像是您的 python 路径的问题。
  • @MatthausWoolard 文件结构为:backend/manage.py backend/app_proj/settings.py backend/app_proj/asgi.py backend/pipeline/consumers.py
  • Debian 10 上的相同问题。我没有名为“whitenoise”的模块作为错误消息。

标签: python django django-channels daphne


【解决方案1】:
cd /path/to/your/project
daphne -b 0.0.0.0 app_proj.asgi:application

使用 nginx 命令显示我的后端服务器:

cd /path/to/your/project
daphne -b 127.0.0.1 -p 8080 -e ssl:8443:privateKey=/path/to/privkey.pem:certKey=/path/to/fullchain.pem app.asgi:application -v 3

【讨论】:

  • 我没说使用 nginx。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-22
  • 2017-04-16
  • 2018-02-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多