Вы можете получить доступ к настройкам по адресу request.registry.settings
или pyramid.threadlocal.get_current_registry().settings
. Это ведет себя как словарь.
Если вы хотите использовать второй, который получает настройки без запроса, я должен вас предупредить. По the doc:
Эта функция должна использоваться крайне редко, как правило, только в единичных кода тестирования. почти всегда обычно бывает ошибкой использовать get_current_registry вне контекста тестирования, потому что его использование делает возможным написать код, который не может быть легко протестирован, а не сценарий.
Любая часть вашего кода, которая нуждается в доступе к настройкам, является частью веб-приложения и должна обращаться к запросу, а не к каким-либо магически доступным глобальным. Вы можете подумать, что у вас есть веская причина, но, вероятно, лучший способ. Если вы хотите обсудить это (возможно, в другом вопросе, если это сложно, как поможет какой-то код), я буду рад помочь вам найти чистый способ сделать это.
Спасибо. Отредактировано, чтобы сделать его более ясным в ответе. Кстати, реестр не является файлом настроек (см. Http://pyramid.readthedocs.org/en/1.3-branch/glossary.html#term-application-registry). – madjar
Обратите внимание, что для добавления пользовательских настроек и использования этого ответа вы не можете добавить его в новый раздел. Вам нужно добавить его в существующий раздел [app: main]. См. [Документация] (http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/environment.html#adding-a-custom-setting). – Zitrax