Python / Django - нет ошибок модуля в производстве - PullRequest
0 голосов
/ 20 сентября 2018

Я новичок в 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

Procfile:

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

settings.py (не все содержимое файла):

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'

API urlpatterns:

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

MyApp urlpatterns:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('myapp.api.urls')),
    path('', include('myapp.homepage.urls'))
]

Есть идеи, что я делаю не так?Я искал в Интернете, но не смог найти ничего, чтобы помочь мне решить эту проблему.Любая помощь будет оценена!

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

удалось выяснить, что является причиной проблемы.Я не знал, что Heroku не работает с подмодулями git (особенно с частными).Я удалил субмодули из репо и добавил файлы в основной репо.Развернул его снова и теперь все работает.Спасибо за предложения.Ценю помощь!

0 голосов
/ 20 сентября 2018

Обновления пакета сборки Python означают, что установленные в приложении переменные конфигурации PYTHONPATH и PYTHONHOME могут представлять эту проблему.

Во-первых, проверьте, присутствуют ли они в

heroku config

Чтобы устранить проблему, вы можете сбросить их, например, так:

heroku config: unset PYTHONHOME -a website

heroku config: unset PYTHONPATH -a website

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...