0
0
Flaskframework~5 mins

Flash message categories in Flask

Choose your learning style9 modes available
Introduction

Flash message categories help organize messages by type, like success or error. This makes it easy to show different styles for each message.

When you want to show a success message after a user submits a form.
When you need to display error messages for invalid input.
When you want to give informational messages like 'Profile updated'.
When you want to style messages differently based on their meaning.
When you want to group messages for better user experience.
Syntax
Flask
flash(message, category)

# Example:
flash('Login successful', 'success')

The category is optional but helps separate message types.

Common categories: success, error, warning, info.

Examples
This shows a success message.
Flask
flash('Data saved successfully', 'success')
This shows an error message.
Flask
flash('Invalid password', 'error')
This shows an informational message.
Flask
flash('Remember to verify your email', 'info')
Sample Program

This Flask app flashes three messages with different categories. The template shows each message styled by its category color.

Flask
from flask import Flask, flash, render_template_string, get_flashed_messages

app = Flask(__name__)
app.secret_key = 'secret'

@app.route('/')
def index():
    flash('Welcome back!', 'success')
    flash('Your password will expire soon.', 'warning')
    flash('Failed to load profile picture.', 'error')
    messages = get_flashed_messages(with_categories=True)
    html = '''
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Flash Messages</title>
      <style>
        .success { color: green; }
        .error { color: red; }
        .warning { color: orange; }
      </style>
    </head>
    <body>
      <h1>Flash Messages</h1>
      <ul>
        {% for category, message in messages %}
          <li class="{{ category }}">{{ message }}</li>
        {% endfor %}
      </ul>
    </body>
    </html>
    '''
    return render_template_string(html, messages=messages)

if __name__ == '__main__':
    app.run(debug=False)
OutputSuccess
Important Notes

Always set secret_key in Flask to use flash messages.

Use get_flashed_messages(with_categories=True) to get both message and category.

Categories help you style messages differently in your HTML.

Summary

Flash message categories label messages by type like success or error.

They help show messages with different styles for better user feedback.

Use flash(message, category) and get messages with categories in templates.