J'ai déjà cherché sur le web sur ce doute, mais ils ne semblent pas vraiment s'appliquer à mon cas.Comment configurer les paramètres Django pour différents environnements de manière modulaire?
J'ai 3 fichiers de configuration différents - Dev, mettant en scène, Prod (bien sûr)
Je veux modularisation correctement les paramètres sans répétition. Alors, je l'ai fait base_settings.py et je l'importation à dev_settings.py, stg_settings.py etc.
Problème - Comment appeler les scripts sur chaque env correctement avec un minimum de changements?
En ce moment, je fais cela (prendre env dev par exemple) -
python manage.py runserver --settings = core.dev_settings
Cela fonctionne jusqu'à présent, mais Je ne suis pas convaincu de la qualité de cette solution de contournement. Parce que wsgi.py et deux autres services ont -
os.environ.setdefault ('DJANGO_SETTINGS_MODULE', '') core.settings
Je cherche à faire quelque chose sans modifier les fichiers de configuration d'autres services. Merci tout le monde à l'avance. PS - J'ai essayé d'être aussi clair que possible, mais s'il vous plaît excusez-moi si quelque chose n'est pas clair.
Merci pour la réponse rapide! J'ai un petit doute en tant qu'extension. Si je lance gunicorn au lieu de managy.py, comment spécifier le fichier de paramètres approprié? –
@NirlenduSaha oui, si vous l'exécutez avec gunicorn, alors il utilisera votre fichier .wsgi, puis il cherchera dans la variable d'environnement 'DJANGO_SETTINGS_MODULE', et s'il n'est pas présent, il définira' core.settings' pour votre exemple. –
J'ai essayé votre approche. Did \t export DJANGO_SETTINGS_MODULE = 'core.settings.local' \t echo $$ DJANGO_SETTINGS_MODULE –