0

環境に応じて異なる設定をロードするために、cookiecutter-django .env デザインを使用しています。ローカルで実行するには、「local.py」設定を使用し、aws elatic Beanstalk で wunning を使用する必要があります。「dev.py」をロードする必要があります。どちらも「common.py」からインポートします。

dev 設定を使用して AES でサーバーを実行すると機能しますが、collectstatic は失敗します。これは、dev 設定ではなくローカル設定をインポートしようとするためです。

EC2 インスタンスはどのようにして collectstatic を実行し、(適切な) dev.py 設定をロードできますか?

4

1 に答える 1

2

わかりました、見つかりました。manage.py ファイルは次のようになります。

if __name__ == '__main__':
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.local')

.env ファイルからロードする代わりに、すべてのコマンドを強制的にローカル設定で実行します。

に変更しました

import environ

ROOT_DIR = environ.Path(__file__) - 1

env = environ.Env()
env.read_env(ROOT_DIR.file('config/settings/.env'))

if __name__ == '__main__':
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', env('DJANGO_SETTINGS_MODULE', default='config.settings.local'))

これにより、実際に指定した設定を使用して manage.py コマンドを実行できます。

于 2017-12-22T21:55:44.600 に答える