Развертывание нескольких проектов на Heroku с Django - PullRequest
1 голос
/ 31 декабря 2011

Я хотел бы развернуть два отдельных приложения Django в Heroku. Два приложения с двумя отдельными доменными именами, которые логически отличаются друг от друга. Я настроил venv, который содержит все вещи Python / Django. Теперь я мог бы создать другое приложение, которое дублирует весь материал Python / Django в другом проекте. Но есть ли способ использовать тот же venv?

Моя файловая структура в настоящее время выглядит следующим образом

django
-.git
-projectname_1
-venv
.gitignore
requirements.txt

Когда я пытался добавить projectname_2 под django, я получил сообщение об ошибке Django app must be in a package subdirectory

Есть ли правильный способ добавить второе приложение, используя тот же venv?

1 Ответ

1 голос
/ 17 января 2012

Эта ошибка возникает, когда ваш проект не соответствует спецификациям Heroku для проекта Django.

В частности, эта конкретная ошибка возникает, когда Heroku не находит файл настроек в ~ / your_app_name / settings.py ипоэтому предположил, что это не Python-приложение Django.Но затем он нашел settings.py и manage.py в корне вашего проекта (~ /).

Конкретный исходный код Heroku, который выдает эту ошибку: https://github.com/heroku/heroku-buildpack-python/blob/master/bin/compile

Ваш каталог долженВыглядит примерно так:

~/.gitignore
~/Procfile
~/requirements.txt
~/your_app_name/
~/your_app_name/manage.py
~/your_app_name/settings.py
~/your_app_name/etc...

Лучше всего использовать два отдельных приложения Heroku.Heroku делает некоторые предположения о том, какой тип приложения вы развертываете, и не обязательно учитывает несколько приложений.

Кроме того, вероятно, лучше не проверять свой virtualenv.Просто убедитесь, что все ваши зависимости определены в require.txt, и Heroku автоматически установит их внутри нового virtualenv.

...