recherche

Maison  >  Questions et réponses  >  le corps du texte

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

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

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

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

ringa_leeringa_lee2784 Il y a quelques jours692

répondre à tous(2)je répondrai

  • 怪我咯

    怪我咯2017-04-18 10:03:17

    Auto-question et réponse : utilisez les options de tornado et définissez des interfaces pour lire un ensemble de fichiers de configuration. Le code approximatif est le suivant :

    fichier d'entrée tornade 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'")

    Le code dans app_config.py est le suivant :

    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': {},
    }

    Lors de l'exécution du code

    python main.py --settings=xxx

    répondre
    0
  • 阿神

    阿神2017-04-18 10:03:17

    Laissez inchangé un ensemble standard de fichiers de configuration de base de données et de cache.

    Ensuite, chaque personne a ses propres fichiers de configuration de base de données et de cache correspondants, et ignore ces fichiers (je suppose que vous utilisez git pour la gestion des versions).

    Cela ne retardera pas le développement de chacun et n’affectera pas les futures versions de produits.

    répondre
    0
  • Annulerrépondre