РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
228 of 643 menu

Класс Session

Класс Session представляет собой объект сессии, который позволяет сохранять данные между HTTP-запросами одного пользователя. Сессия работает как словарь: можно записывать значения по ключу, читать их, удалять и проверять наличие. Данные сессии хранятся на стороне клиента в подписанной куке, поэтому для их защиты необходимо задать секретный ключ в атрибуте secret_key приложения Flask.

Синтаксис

from flask import session session['key'] = value res = session['key'] res = session.get('key')

Пример

Давайте сохраним имя пользователя в сессии на одном маршруте и прочитаем его на другом:

from flask import Flask, session app = Flask(__name__) app.secret_key = 'abcde' @app.route('/set') def set_name(): session['name'] = 'user' return 'saved' @app.route('/get') def get_name(): return session.get('name', 'empty')

Результат выполнения кода для адреса /set:

"saved"

Результат выполнения кода для адреса /get:

"user"

Пример

Давайте удалим значение из сессии с помощью метода pop и проверим результат:

from flask import Flask, session app = Flask(__name__) app.secret_key = 'abcde' @app.route('/set') def set_name(): session['name'] = 'user' return 'saved' @app.route('/remove') def remove_name(): res = session.pop('name', None) return str(res)

Результат выполнения кода для адреса /remove после /set:

"user"

Пример

Давайте сделаем сессию постоянной с помощью атрибута permanent, чтобы она сохранялась после закрытия браузера:

from flask import Flask, session app = Flask(__name__) app.secret_key = 'abcde' @app.route('/') def index(): session.permanent = True session['name'] = 'user' return 'ok'

Результат выполнения кода:

"ok"

Смотрите также

  • метод get,
    который читает значение из сессии по ключу
  • метод pop,
    который удаляет значение из сессии и возвращает его
  • атрибут permanent,
    который делает сессию постоянной
  • функцию get_flashed_messages,
    которая читает одноразовые сообщения из сессии
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить