How to manage local vs production settings in Django?
deployment, django, python
Solution
In `settings.py`:
try:
from local_settings import *
except ImportError as e:
pass
You can override what needed in `local_settings.py`; it should stay out of your version control then. But since you mention copying I'm guessing you use none ;)
Problem
What is the recommended way of handling settings for local development and the production server? Some of them (like constants, etc) can be changed/accessed in both, but some of them (like paths to static files) need to remain different, and hence should not be overwritten every time the new code is deployed. Currently, I am adding all constants to `settings.py`. But every time I change some constant locally, I have to copy it to the production server and edit the file for production specific changes... :( Edit: looks like there is no standard answer to this question, I've accepted the most popular method.