В веб-фреймворке Pyramid, как я могу получить конфиденциальные настройки в development.ini / production.ini из внешнего файла?
хотел бы сохранитьdevelopment.ini
а такжеproduction.ini
под контролем версий, но по соображениям безопасности не хотел быsqlalchemy.url
строка подключения, которая будет сохранена, поскольку она будет содержать имя пользователя и пароль, используемые для подключения к базе данных.
Какие'канонический способ, в Пирамиде, получить этот параметр из дополнительного внешнего файла?
редактировать В дополнение к решению, использующему переменную окружения, я придумал это решение, посмотрев вокруг #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,)