0

Ich benutze Cookiecutter-Django .env Design, um verschiedene Einstellungen abhängig von der Umgebung zu laden. Wenn Sie lokal arbeiten, sollten Sie "local.py" -Einstellungen verwenden und in aws Elatic-Beanstalk waunen, es sollte "dev.py" geladen werden. Beide importieren von "common.py".python manage.py collectstatic lädt die falschen (lokalen) Einstellungen

Das Ausführen des Servers in AES mit Dev-Einstellungen funktioniert, aber Collectstatic schlägt fehl, weil es versucht, die lokalen Einstellungen statt Dev-Einstellungen zu importieren.

Wie kann die EC2-Instanz collectstatic ausführen und die (passenden) dev.py-Einstellungen laden?

Antwort

0

OK, gefunden. Die manage.py Datei sah aus wie diese

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

alle Befehle zwingen mit lokalen Einstellungen zu laufen, statt Laden von der .env Datei.

Ich habe es

changet
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')) 

Welche manage.py Befehle ausführen mit, was Einstellungen, die ich tatsächlich angegeben haben können.

Verwandte Themen