Python: Веб-разработка (Flask)
Теория: Flash
Во время работы на Хекслете вы могли видеть сообщение о результатах выполнения любого действия: аутентификация, регистрация или вступление в курс:
В веб-разработке такое сообщение называют Flash. В этом уроке мы научимся работать с ним.
Одноразовые сообщения
Flash обычно используется после перенаправления для индикации успешности или неудачи предыдущего действия. Flash-сообщения используют механизм сессий. Он позволяет хранить информацию между разными запросами одного и того же пользователя. Этот механизм работает благодаря кукам и встроен во Flask.
Чтобы работать с Flash, сначала подключим необходимый модуль:
Теперь можем использовать Flash:
Функция flash() добавляет сообщение в общее хранилище сообщений. Функция get_flashed_messages() извлекает все сообщения их этого хранилища. Дальше Flash-сообщения передаются в шаблон и там выводятся.
После извлечения хранилище обнуляется. При следующем запросе get_flashed_messages() вернет пустой массив. Другими словами — Flash-сообщения показываются только на один запрос. После обновления страницы или перехода в другое место они пропадают. Это удобно, так как не нужно следить за их жизненным циклом.
Во многих фреймворках типы Flash-сообщений стандартизированы. В основном используют следующие:
- success — для удачно завершившихся действий
- warning — для предупреждений
- error — в тех ситуациях, когда произошла ошибка
Можно добавить сразу много Flash-сообщений, поэтому get_flashed_messages() возвращает следующую структуру:
Под капотом у флеш-сообщений используются сессии, которые рассматриваются в курсе чуть позже. Благодаря этому механизму сайт запоминает конкретного пользователя и его сообщение.

