Daphne ModuleNotFoundError: No module named 'app_name'
Daphne ModuleNotFoundError: No module named 'app_name'
当我运行daphne -b 0.0.0.0 -p 8000 --access-log=daphne.log config.asgi:application
我得到 Daphne ModuleNotFoundError: No module named 'app_name'
但是当我运行 python3 manage.py runserver
它正常工作?
当我从 INSTALLED_APPS
中删除 app_1
时,它会显示 ModuleNotFoundError: No module named 'app_2'
这是我的文件夹结构:
project_name
│ __init__.py
│ manage.py
│
└───config
│ │ __init__.py
│ │ asgi.py
│ │ celery.py
│ │ urls.py
│ │ wsgi.py
│ │
│ └───settings
│ │
│ │ __init__.py
│ │ base.py
│ │ dev.py
│ │ prod.py
│
│
└───project_name
│ │ __init__.py
│ │
│ └───app_1
│ └───app_2
│ └───app_3
│
└───media
│
└───static
asgi.py
:
from django.core.asgi import get_asgi_application
django_asgi_app = get_asgi_application()
from channels.auth import AuthMiddlewareStack
from channels.routing import ProtocolTypeRouter, URLRouter
from chat import routing
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.dev')
application = ProtocolTypeRouter({
'http': django_asgi_app,
'websocket': AuthMiddlewareStack(
URLRouter(
routing.websocket_urlpatterns
)
),
})
我必须将我所有应用程序所在的文件夹添加到 PYTHONPATH 环境变量中,因此:
PYTHONPATH="${PYTHONPATH}:/project_name/project_name"
当我运行daphne -b 0.0.0.0 -p 8000 --access-log=daphne.log config.asgi:application
我得到 Daphne ModuleNotFoundError: No module named 'app_name'
但是当我运行 python3 manage.py runserver
它正常工作?
当我从 INSTALLED_APPS
中删除 app_1
时,它会显示 ModuleNotFoundError: No module named 'app_2'
这是我的文件夹结构:
project_name
│ __init__.py
│ manage.py
│
└───config
│ │ __init__.py
│ │ asgi.py
│ │ celery.py
│ │ urls.py
│ │ wsgi.py
│ │
│ └───settings
│ │
│ │ __init__.py
│ │ base.py
│ │ dev.py
│ │ prod.py
│
│
└───project_name
│ │ __init__.py
│ │
│ └───app_1
│ └───app_2
│ └───app_3
│
└───media
│
└───static
asgi.py
:
from django.core.asgi import get_asgi_application
django_asgi_app = get_asgi_application()
from channels.auth import AuthMiddlewareStack
from channels.routing import ProtocolTypeRouter, URLRouter
from chat import routing
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.dev')
application = ProtocolTypeRouter({
'http': django_asgi_app,
'websocket': AuthMiddlewareStack(
URLRouter(
routing.websocket_urlpatterns
)
),
})
我必须将我所有应用程序所在的文件夹添加到 PYTHONPATH 环境变量中,因此:
PYTHONPATH="${PYTHONPATH}:/project_name/project_name"