python - Tornado(或者Flask)如何配置多人开发的settings文件?
ringa_lee
ringa_lee 2017-04-18 10:01:17
0
2
700

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

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

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

ringa_lee
ringa_lee

ringa_lee

répondre à tous(2)
刘奇

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
阿神

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal