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

Функция get_flashed_messages

Функция get_flashed_messages применяется внутри обработчика или шаблона и возвращает все сообщения, которые были добавлены через flash и ещё не были показаны пользователю. Первым параметром передаётся флаг with_categories, который определяет, вернуть ли сообщения вместе с их категориями. Вторым параметром передаётся category_filter - список категорий, сообщения которых нужно извлечь.

По умолчанию функция возвращает плоский список строк и очищает хранилище сессии, поэтому повторный вызов вернёт уже пустой список.

Синтаксис

get_flashed_messages(with_categories=False, category_filter=[])

Пример

Давайте добавим сообщение через flash и сразу извлечём его с помощью get_flashed_messages:

from flask import Flask, flash, get_flashed_messages app = Flask(__name__) app.secret_key = 'abcde' @app.route('/') def index(): flash('hello') res = get_flashed_messages() return str(res)

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

['hello']

Пример

Давайте передадим флаг with_categories и укажем категорию сообщения:

from flask import Flask, flash, get_flashed_messages app = Flask(__name__) app.secret_key = 'abcde' @app.route('/') def index(): flash('article', 'news') res = get_flashed_messages(with_categories=True) return str(res)

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

[('news', 'article')]

Пример

Давайте отфильтруем сообщения по категории через category_filter:

from flask import Flask, flash, get_flashed_messages app = Flask(__name__) app.secret_key = 'abcde' @app.route('/') def index(): flash('hello', 'news') flash('abcde', 'user') res = get_flashed_messages(category_filter=['news']) return str(res)

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

['hello']

Пример

Давайте выведем сообщения в шаблоне Jinja:

from flask import Flask, flash, render_template app = Flask(__name__) app.secret_key = 'abcde' @app.route('/') def index(): flash('hello') flash('article') return render_template('index.html')
{% for message in get_flashed_messages() %} <p>{{ message }}</p> {% endfor %}

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

<p>hello</p> <p>article</p>

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

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