Метод setdefault
Метод setdefault применяется к объекту конфигурации
app.config и устанавливает значение ключа
только тогда, когда такого ключа в конфигурации ещё нет.
Первым параметром передаётся имя ключа, а вторым -
значение по умолчанию. Если ключ уже присутствует,
метод не перезаписывает его и возвращает текущее значение.
Если ключа нет, он создаётся с переданным значением.
Синтаксис
app.config.setdefault(key, [default])
Пример
Давайте установим значение для несуществующего ключа:
from flask import Flask
app = Flask(__name__)
res = app.config.setdefault('SECRET_KEY', 'abcde')
print(res)
print(app.config['SECRET_KEY'])
Результат выполнения кода:
abcde
abcde
Пример
А теперь попробуем установить значение для ключа, который уже есть в конфигурации:
from flask import Flask
app = Flask(__name__)
app.config['SECRET_KEY'] = 'abcde'
res = app.config.setdefault('SECRET_KEY', 'hello')
print(res)
print(app.config['SECRET_KEY'])
Результат выполнения кода:
abcde
abcde
Как видно из примера, старое значение 'abcde'
осталось нетронутым, несмотря на то, что вторым
параметром было передано 'hello'.
Пример
Метод setdefault удобно применять для задания
значений по умолчанию сразу для нескольких настроек:
from flask import Flask
app = Flask(__name__)
app.config.setdefault('DEBUG', False)
app.config.setdefault('TESTING', False)
app.config.setdefault('SECRET_KEY', 'abcde')
print(app.config['DEBUG'])
print(app.config['TESTING'])
print(app.config['SECRET_KEY'])
Результат выполнения кода:
False
False
abcde