Python / Django-生产中没有模块错误

时间:2018-09-20 17:15:30

标签: python django heroku

我是Django的新手,所以这可能是一个简单的错误。我创建了一个项目,并添加了一些单独的应用程序。一切似乎都在本地运行,但是一旦将其部署到Heroku,就会出现以下错误:RecyclerView

项目结构:

No module named 'myapp.api.urls'

Procfile:

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

settings.py(不是整个文件内容):

web: gunicorn myapp.wsgi --log-file -

API网址模式:

import os

BASE_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'

MyApp网址模式:

urlpatterns = [
    path('account/register/', ApiAccountRegisterView.as_view()),
    path('account/login/', ApiAccountLoginView.as_view()),
]

知道我在做什么错吗?我已经在网上搜索过,但找不到任何可帮助我解决此问题的信息。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

设法找出导致问题的原因。我不知道Heroku不处理git子模块(尤其是私有子模块)。我从存储库中删除了子模块,并将文件添加到主存储库中。再次部署它,现在一切正常。感谢您的建议。感谢帮助!

答案 1 :(得分:0)

对Python buildpack的更新意味着在应用程序上设置的PYTHONPATH和PYTHONHOME配置变量可能会引入此问题。

首先,检查这些是否存在

heroku配置

要解决此问题,您可以像这样取消设置它们:

heroku config:取消设置PYTHONHOME-网站

heroku config:取消PYTHONPATH-一个网站