Пирамида настроек преобразования типов - PullRequest
0 голосов
/ 26 апреля 2020

Я получаю некоторые настройки из пирамиды registry.settings. К сожалению, я не могу понять, почему некоторые настройки (в основном пирамидальные c) автоматически преобразуются, а другие (мои пользовательские) - нет.

с development.ini, содержащим:

pyramid.reload_templates = true
stripe.enabled = false

Я получаю словарь настроек, например:

{
  "pyramid.reload_templates": True,
  "stripe.enabled": "false",
}

Как я могу пометить свои записи как "convert to bool"?

1 Ответ

2 голосов
/ 26 апреля 2020

В функции main () вы получите эту пару ключ / значение в качестве настройки и должны будете выполнить любое необходимое преобразование типов, прежде чем передать словарь в качестве настроек Конфигуратору. Например:

[app:main]
debug_frobnosticator = True

def main(global_config, **settings):
    from pyramid.settings import asbool
    debug_frobnosticator = asbool(settings.get(
        'debug_frobnosticator', 'false'))
    settings['debug_frobnosticator'] = debug_frobnosticator
    config = Configurator(settings=settings)

asbool(s) Возвращает логическое значение True, если значение строкового ввода s в нижнем регистре является верной строкой. Если s уже является одним из логических значений True или False, верните его.

...