2

2 つの別個の Django アプリケーションを Heroku にデプロイしたいと考えています。論理的に互いに異なる 2 つの別個のドメイン名を持つ 2 つのアプリケーション。すべての Python/Django を含む venv をセットアップしました。これで、別のプロジェクトですべての Python/Django を複製する別のアプリケーションを作成できました。しかし、同じvenvを使用する方法はありますか?

私のファイル構造は現在このようになっています

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

projectname_2djangoの下に追加しようとすると、エラーが発生しましたDjango app must be in a package subdirectory

同じ venv を使用して 2 つ目のアプリケーションを追加する正しい方法はありますか?

4

1 に答える 1

1

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

具体的には、Herokuが〜/ your_app_name / settings.pyで設定ファイルを見つけられなかったため、DjangoPython以外のアプリであると想定した場合にこの特定のエラーが発生します。しかし、プロジェクトルート(〜/)で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内に自動的にインストールします。

于 2012-01-17T07:23:24.357 に答える