python - Tornado(或者Flask)如何配置多人开发的settings文件?

查看:146
本文介绍了python - Tornado(或者Flask)如何配置多人开发的settings文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

要实现的效果类似运行应用时:

python app.py --settings=zhangsan
python app.py --settings=lisi

不同的人加载不同的数据库配置,缓存配置等等。

解决方案

自问自答:使用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

这篇关于python - Tornado(或者Flask)如何配置多人开发的settings文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆