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

 韩大妖丫头 发布于 2022-10-28 16:19

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

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

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

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

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

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

    2022-10-29 22:10 回答
  • 自问自答:使用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-10-29 22:13 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有