我找到了这篇文章:Django 生产开发最佳设置http://pycoders-weekly-chinese.readthedocs.org/en/latest/issue4/django-settings-for-production-and-development-best-practices.html
我最后的做法是在settings.py最后根据socket.gethostname()来判断所在的环境,并覆盖一些设置.
我试过了文章里说的建立一个settings的module,可是在pycharm下有的功能估计是直接找settings.py而不是找project.settings的module.所以很麻烦,放弃了.
文章其他的2个方法都是和环境变量相关的,我对这些不熟悉就放弃了.
我的方式可以改进的是可以把不同环境的settings写在单独的文件里.
然后在settings.py中加上
try:
from local_settings import *
except ImportError:
except ImportError:
pass
这样在配置多的情况下会清晰不少.