Развертывание существующего приложения Django на Heroku
Следуя руководству Heroku, но я уже создал довольно сложное приложение Django, которое я хочу загрузить. Я скопировал его в новую папку и успешно выпустил git init
, а также добавил файлы в commit. Я делаю heroku create --stack cedar
, поэтому я получаю сайт, затем выдаю git push heroku master
. Я получаю следующее:
Counting objects: 6756, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5779/5779), done.
Writing objects: 100% (6756/6756), 6.98 MiB | 953 KiB/s, done.
Total 6756 (delta 2210), reused 0 (delta 0)
-----> Heroku receiving push
-----> Removing .DS_Store files
-----> Python app detected
! Django app must be in a package subdirectory
! Heroku push rejected, failed to compile Python app
To [email protected]:sitename.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:sitename.git'
В папке Heroku у меня есть init, настройки, управление и urls.py, тогда у меня есть папка OmniCloud_App, в которой содержатся определенные администраторы приложений, модели, шаблоны (папка), статические (папка), тесты, URL-адреса и представления. Почему Heroku не распознает приложение?
Ответы
Ответ 1
Крис
В частности, для Django heroku ожидается, что вы проверите каталог, в котором живет ваш проект Django (этот каталог должен жить на том же уровне, что и ваш файл требований .txt). Ls может выглядеть примерно так:
$ ls
requirements.txt appfolder
$ ls appfolder
__init__.py manage.py settings.py urls.py
Это должно позволить вам развернуть существующее приложение, а затем настроить свой файл Procfile по мере необходимости.
Ответ 2
У меня есть пример приложения Django, который я развернул в Heroku здесь:
https://github.com/synedra/django-linkedin-simple
У меня есть сообщение в блоге о развертывании этой системы для героку здесь:
http://www.princesspolymath.com/princess_polymath/?p=511
Обратите внимание, что мой пост был больше о том, как заставить auth работать. Сам учебник Heroku Django (связанный с моим сообщением в блоге) должен быть более чем достаточным. Вы можете пройти через это, а затем посмотреть, где ваша установка отличается.