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

发布于 2022-09-04 06:04:47 字数 141 浏览 23 评论 0

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情话已封尘 2022-09-11 06:04:47

自问自答:使用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
习惯成性 2022-09-11 06:04:47

留一套标准的数据库和缓存配置文件不要动。

然后每人都有自己的对应的数据库和缓存配置文件,并把这些文件ignore掉(我假设你用的是git做版本管理)。

这样不耽误每个人的开发,也不影响以后的产品发布。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文