Maison > Questions et réponses > le corps du texte
要实现的效果类似运行应用时:
python app.py --settings=zhangsan
python app.py --settings=lisi
不同的人加载不同的数据库配置,缓存配置等等。
怪我咯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
阿神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.