Django s'attend à ce que vous utilisiez des variables d'environnement dans settings.py
pour s'adapter à plusieurs environnements (par exemple local, heroku, AWS).Paramètres Django: déclenchez KeyError, augmentez ImproperlyConfigured ou utilisez les valeurs par défaut?
Je suppose que je devrais définir -par exemple- le nom d'utilisateur du DB dans une variable d'environnement DB_USERNAME
. Comment dois-je le lire?
import os
DB_USERNAME = os.environ['DB_USERNAME']
DB_USERNAME = os.environ.get('DB_USERNAME')
DB_USERNAME = os.environ.get('DB_USERNAME', 'john')
Dois-je capturer l'KeyError et élever moi-même ImproperlyConfigured? Je préfère faire arrêter l'application plutôt que de l'exécuter en utilisant des paramètres incorrects (par défaut, les gens oubliant de définir une variable, etc).
Dans le cas des valeurs par défaut, il peut même arriver que John existe à la fois loaclly et à distance, mais avec des autorisations différentes. Ça n'a pas l'air très robuste.
Ne pensez-vous pas son une mauvaise idée d'avoir votre nom de DB dans votre système d'exploitation variable env? –
son nom d'utilisateur db pas le nom db –