我想保留development.ini
并production.ini
接受版本控制,但出于安全原因,不希望sqlalchemy.url
存储连接字符串,因为这将包含用于数据库连接的用户名和密码。
在 Pyramid 中,从其他外部文件获取此设置的规范方式是什么?
编辑 除了使用环境变量的解决方案之外,我在#pyramid 上询问后提出了这个解决方案:
def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
# Read db password from config file outside of version control
secret_cfg = ConfigParser()
secret_cfg.read(settings['secrets'])
dbpass = secret_cfg.get("secrets", "dbpass")
settings['sqlalchemy.url'] = settings['connstr'] % (dbpass,)