要实现的效果类似运行应用时:
python app.py --settings=zhangsan python app.py --settings=lisi
不同的人加载不同的数据库配置,缓存配置等等。
ringa_lee
自問自答:使用tornado的options和define介面讀取一套設定文件,大致程式碼如下:
tornado入口文件main.py
define('port', default=9000, help='run on the given port', type=int) define('debug', default=True, help='debug mode', type=bool) define('settings', default=None, help='tornado settings file', type=str) define('config', default=None, help='tornado config file', type=dict) options.parse_command_line() if options.settings: options.parse_config_file('settings/%s/app_config.py'%(options.settings)) else: raise Exception("You must add a xxx.py at settings/ folder, then run: 'python app.py --settings=user'")
app_config.py 中的程式碼如下:
from tornado.options import options import importlib db_config = importlib.import_module('settings.%s.db_config'%options.settings) options.config = { 'MONGO': db_config.MONGO, 'SETTINGS': {}, }
運行程式碼時
python main.py --settings=xxx
留一套標準的資料庫和快取設定檔不要動。
然後每人都有自己的對應的資料庫和快取配置文件,並把這些文件ignore掉(我假設你用的是git做版本管理)。
這樣不耽誤每個人的開發,也不影響以後的產品發表。
自問自答:使用tornado的options和define介面讀取一套設定文件,大致程式碼如下:
tornado入口文件main.py
app_config.py 中的程式碼如下:
運行程式碼時
留一套標準的資料庫和快取設定檔不要動。
然後每人都有自己的對應的資料庫和快取配置文件,並把這些文件ignore掉(我假設你用的是git做版本管理)。
這樣不耽誤每個人的開發,也不影響以後的產品發表。