Метод setdefault
Метод setdefault применяется к объекту сессии
session в Flask. Он работает по принципу
словаря: первым параметром передаётся ключ,
вторым - значение по умолчанию. Если ключ уже есть
в сессии, метод возвращает текущее значение
и ничего не меняет. Если ключа нет, метод записывает
в сессию переданное значение и возвращает его.
Синтаксис
session.setdefault(key, default)
Пример
Давайте установим значение счётчика при первом обращении пользователя и вернём его:
from flask import Flask, session
app = Flask(__name__)
app.secret_key = 'secret'
@app.route('/')
def index():
count = session.setdefault('count', 0)
return str(count)
Результат выполнения кода при первом запросе:
0
Пример
Давайте проверим, что при повторном обращении метод возвращает уже существующее значение, а не сбрасывает его:
from flask import Flask, session
app = Flask(__name__)
app.secret_key = 'secret'
@app.route('/')
def index():
session.setdefault('count', 0)
session['count'] += 1
return str(session['count'])
Результат выполнения кода при втором запросе:
2