Flash message categories help organize messages by type, like success or error. This makes it easy to show different styles for each message.
0
0
Flash message categories in Flask
Introduction
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.