我是 Django 的新手,所以这可能是一个简单的错误。我创建了一个项目并添加了一些单独的应用程序。一切似乎都在本地运行,但是一旦我将其部署到 Heroku,就会出现以下错误:No module named 'myapp.api.urls'项目结构:website|____myapp| |_____api| | |_____urls.py| | |_____views.py| || |_____homepage| | |_____urls.py| | |_____views.py| || |_____mailing| | |_____urls.py| | |_____views.py| || |_____settings.py| |_____urls.py| |_____wsgi.py||_____manage.py|_____Procfile|_____requirements.txt|_____runtime.txt简介:web: gunicorn myapp.wsgi --log-file -settings.py(不是整个文件内容):import osBASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))ALLOWED_HOSTS = ['127.0.0.1', 'myapp.herokuapp.com']INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp.api', 'myapp.homepage', 'myapp.mailing',]ROOT_URLCONF = 'myapp.urls'WSGI_APPLICATION = 'myapp.wsgi.application'API 网址模式:urlpatterns = [ path('account/register/', ApiAccountRegisterView.as_view()), path('account/login/', ApiAccountLoginView.as_view()),]MyApp 网址模式:from django.contrib import adminfrom django.urls import path, includeurlpatterns = [ path('admin/', admin.site.urls), path('api/', include('myapp.api.urls')), path('', include('myapp.homepage.urls'))]知道我做错了什么吗?我在网上搜索过,但找不到任何东西可以帮助我解决这个问题。任何帮助,将不胜感激!
2 回答
四季花海
TA贡献1811条经验 获得超5个赞
设法找出导致问题的原因。我不知道 Heroku 不处理 git 子模块(尤其是私有子模块)。我从 repo 中删除了子模块并将文件添加到主 repo。再次部署它,现在一切正常。感谢您的建议。感谢帮助!
慕娘9325324
TA贡献1783条经验 获得超4个赞
Python buildpack 的更新意味着在应用程序上设置的 PYTHONPATH 和 PYTHONHOME 配置变量可能会引入此问题。
首先,检查这些是否存在
Heroku 配置
要解决此问题,您可以像这样取消设置:
heroku config:unset PYTHONHOME -a 网站
heroku 配置:未设置 PYTHONPATH -a 网站
添加回答
举报
0/150
提交
取消