2011-12-31 7 views
1

Herokuに2つの別々のDjangoアプリケーションを配備したいと思います。 2つの別々のドメイン名を持つ2つのアプリケーションは、互いに論理的に異なります。私はすべてのPython/Djangoのものを含むvenvを設定しました。今、私は別のプロジェクトでPython/Djangoのすべてのものを複製する別のアプリケーションを作成することができました。しかし、同じvenvを使用する方法はありますか?DjangoでHerokuに複数のプロジェクトを展開する

私のファイル構造は、現在、私はジャンゴの下projectname_2を追加しようとしたとき、私はDjango app must be in a package subdirectory

を言ってエラーを得た。この

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

のように見えますが、同じvenvを用いて第2のアプリケーションを追加するための正しい方法はあります?

答えて

1

このエラーは、プロジェクトがHerokuのDjangoプロジェクトの仕様に準拠していない場合に発生します。

具体的には、Herokuが〜/ your_app_name/settings.pyで設定ファイルを見つけられなかったため、そのファイルがDjango以外のPythonアプリケーションであると仮定した場合に発生します。しかし、それはあなたのプロジェクトルート(〜/)で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... 

あなたの最善の策は、実際には2つの別々のHerokuのアプリを使用することです。 Herokuは、あなたが展開しているアプリケーションの種類についていくつかの仮定をしており、必ずしも複数のアプリケーションを考慮する必要はありません。

また、virtualenvをチェックインしないことをお勧めします。すべての依存関係がrequirements.txtに定義されていることを確認し、Herokuは新しいvirtualenvの中にそれらを自動的にインストールします。

関連する問題