Python: Веб-разработка (Flask)
2026-02-26 17:11 Diff

Во время работы на Хекслете вы могли видеть сообщение о результатах выполнения любого действия: аутентификация, регистрация или вступление в курс:

В веб-разработке такое сообщение называют Flash. В этом уроке мы научимся работать с ним.

Одноразовые сообщения

Flash обычно используется после перенаправления для индикации успешности или неудачи предыдущего действия. Flash-сообщения используют механизм сессий. Он позволяет хранить информацию между разными запросами одного и того же пользователя. Этот механизм работает благодаря кукам и встроен во Flask.

Чтобы работать с Flash, сначала подключим необходимый модуль:

Теперь можем использовать Flash:

Функция flash() добавляет сообщение в общее хранилище сообщений. Функция get_flashed_messages() извлекает все сообщения их этого хранилища. Дальше Flash-сообщения передаются в шаблон и там выводятся.

После извлечения хранилище обнуляется. При следующем запросе get_flashed_messages() вернет пустой массив. Другими словами — Flash-сообщения показываются только на один запрос. После обновления страницы или перехода в другое место они пропадают. Это удобно, так как не нужно следить за их жизненным циклом.

Во многих фреймворках типы Flash-сообщений стандартизированы. В основном используют следующие:

  • success — для удачно завершившихся действий
  • warning — для предупреждений
  • error — в тех ситуациях, когда произошла ошибка

Можно добавить сразу много Flash-сообщений, поэтому get_flashed_messages() возвращает следующую структуру:

Под капотом у флеш-сообщений используются сессии, которые рассматриваются в курсе чуть позже. Благодаря этому механизму сайт запоминает конкретного пользователя и его сообщение.