Я пробовал несколько вещей, чтобы заставить мое приложение работать над героку, но теперь у меня нет идей. Я могу установить свой проект на репутацию герою, но я получаю код ошибки 500. Мое приложение работает очень хорошо, используя virtualenv на моей машине после того, как я выполнил шаги, описанные в документации heroku для django.Django ImportError on Heroku
Когда я делаю «мерзавец нажимного мастер Heroku» и попробуйте в браузере, я получаю следующее сообщение об ошибке:
2013-07-07T15:39:11.170514+00:00 app[web.1]: ImportError: No module named apps.base
2013-07-07T15:39:11.170059+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/dateformat.py", line 35, in format
2013-07-07T15:39:11.170202+00:00 app[web.1]: app = import_module(appname)
2013-07-07T15:39:11.170202+00:00 app[web.1]: default_translation = _fetch(settings.LANGUAGE_CODE)
2013-07-07T15:39:11.170202+00:00 app[web.1]: _default = translation(settings.LANGUAGE_CODE)
я учил это было вызвано структурой каталогов, которая не была поддержана на Heroku, так Я скорректировал его по умолчанию, созданному с помощью команды django startproject.
Вот моя новая файловая структура. Я поправил ссылку на импорт везде и, как я уже сказал, я работает pefctly в местные:
manage.py
Procfile
requirements.txt
vielfaltig
|____apps
| |____base
| | |____models.py
| | |____templates
| | |____tests.py
| | |____urls.py
| | |____views.py
| |____projects
| | |____admin.py
| | |____models.py
| | |____templates
| | |____templatetags
| | |____tests.py
| | |____translation.py
| | |____urls.py
| | |____views.py
|____locale
|____media
|____settings.py
|____static
|____urls.py
|____vielfaltig.db
|____wsgi.py
Как вы заметили, у меня есть 2 приложения (базовые и проекты). В коде я импортирую их, например, с помощью «vielfaltig.apps.base». Я изменил это повсюду. У меня была эта ошибка раньше, и я изменил структуру каталогов в соответствии с тем, что я прочитал, когда искал ошибку. Я также попытался поместить все в корневой каталог (вместе с требованиями .txt и procfile). Я не знаю, почему он продолжает говорить мне ImportError для «apps.base», в то время как я ссылаюсь на приложение, используя «vielfaltif.apps.base» всюду ...?
У кого-нибудь есть идеи? При необходимости я вставлю свои settings.py. Пока я думаю, что это займет много места.
Благодарим за помощь!
Это может быть сделано, как: 'импорт SYS; sys.path.insert (0, 'vielfaltig') 'в параметре' settings.py'. – spinus
Спасибо, я не думаю, что мне нужно это сделать, потому что я уже изменил весь свой импорт на «import vielfaltig.apps.base» во всех моих файлах, где он был применен. Кроме того, он хорошо работает в локали. Тем не менее я пробовал ваше предложение, и я не работаю ... сервер даже не начинает с этого изменения. Я думаю, проблема в другом месте, может быть, в переводах? Но я проверил свои файлы переводов, и пути вроде бы ... – user2344489
Попробуйте 'python manage.py' без каких-либо флагов, и я думаю, что это сделает вам исключение. Если это так, напишите его в своем вопросе. – shalakhin