django的配置放在settings.py文件中redis
可是這主要應用於開發人員的測試,開發數據庫
由於一個項目通常都有幾個環境,好比dev環境,beta環境,prod環境,並且每一個環境的數據庫,redis等等配置都是不一樣的django
若是配置都放於settings中,咱們使用不一樣的環境時就十分麻煩測試
能夠使用下面的處理方式spa
首先將公共的配置放於settings中,將不一樣的環境所需的配置分別放在本身的配置文件中如:dev.py,beta.py,prod.py等等code
而後在settings中就能夠根據不一樣的環境進行引入對應的配置以覆蓋settings中的配置orm
讀取環境使用os模塊:blog
print(os.environ.get("ENV", None)) os.environ["ENV"] = "dev" print(os.environ.get("ENV", None)) 輸出: None dev
根據讀取的環境將環境文件中的配置加到環境變量開發
ENV = os.environ.get('ENV', 'dev') if ENV: import importlib import re # 倒入配置文件包 module = importlib.import_module('project.env.{}'.format(ENV)) for name in dir(module): if not re.match('^__', name): globals()[name] = module.__dict__[name]