Настройка Flash-сообщений в шаблонах HTML в приложениях Flask

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

Метод 1: использование встроенной функции Flash
Flask обеспечивает встроенную поддержку флэш-сообщений с помощью функции flash(). Вот как вы можете его использовать:

  1. В функцию маршрутизации или просмотра Flask импортируйте функцию flashиз модуля flask.
  2. В функции маршрутизации или просмотра вызовите flash("Ваше сообщение здесь", "успех"), чтобы высветить сообщение об успехе. Вы можете заменить «успех» другими категориями сообщений, например «ошибка», «предупреждение» и т. д.
  3. В вашем HTML-шаблоне используйте функцию get_flashed_messages()для получения и отображения всплывающих сообщений.

Пример:

from flask import Flask, render_template, flash
app = Flask(__name__)
app.secret_key = 'your_secret_key'
@app.route('/')
def index():
    flash('Hello, this is a success message!', 'success')
    return render_template('index.html')
@app.route('/messages')
def messages():
    return render_template('messages.html')
if __name__ == '__main__':
    app.run()

В index.html:

<!DOCTYPE html>
<html>
  <head>
    <title>Flash Message Example</title>
  </head>
  <body>
    {% with messages = get_flashed_messages() %}
      {% if messages %}
        <ul class="messages">
          {% for message in messages %}
            <li class="message">{{ message }}</li>
          {% endfor %}
        </ul>
      {% endif %}
    {% endwith %}
  </body>
</html>

В messages.html:

<!DOCTYPE html>
<html>
  <head>
    <title>Messages Page</title>
  </head>
  <body>
    <h1>Messages</h1>
    <p>This is the messages page.</p>
  </body>
</html>

Метод 2: использование расширения Flask-Flash Messages
Вы также можете использовать сторонние расширения, такие как Flask-Flash Messages, которые обеспечивают дополнительную функциональность и гибкость для обработки флэш-сообщений в Flask. Чтобы использовать это расширение, вам необходимо сначала установить его с помощью pip (pip install flask-flash-messages), а затем следовать его документации для получения подробной информации о реализации.