What will be the categories of the flashed messages retrieved in the template?
medium
A. ['success', 'error']
B. ['info', 'warning']
C. ['error', 'success']
D. ['message', 'alert']
Solution
Step 1: Identify categories used in flash calls
The first flash uses 'success', the second uses 'error' as categories.
Step 2: Understand retrieval order
Messages are retrieved in the order flashed, so categories list is ['success', 'error'].
Final Answer:
['success', 'error'] -> Option A
Quick Check:
Flashed categories = ['success', 'error'] [OK]
Hint: Categories match second argument in flash() calls [OK]
Common Mistakes:
Mixing up category names
Assuming default categories like 'info'
Reversing order of categories
4. What is wrong with this Flask code snippet?
flash('Error occurred', cat='error')
medium
A. Message string must be a list, not a string
B. Using keyword argument 'cat' causes a TypeError
C. Category must be uppercase like 'ERROR'
D. flash() requires three arguments
Solution
Step 1: Check flash function parameters
flash() accepts message and optional category as positional arguments, not keyword arguments.
Step 2: Identify error cause
Using cat='error' keyword causes TypeError: unexpected keyword argument.
Final Answer:
Using keyword argument 'cat' causes a TypeError -> Option B
Quick Check:
flash() keyword 'cat' = TypeError [OK]
Hint: flash() takes category as second positional argument only [OK]
Common Mistakes:
Using invalid keyword argument 'cat'
Assuming category must be uppercase
Thinking flash needs more than two arguments
5. You want to display flash messages with different colors based on their categories: 'success' in green, 'error' in red, and 'info' in blue. Which approach correctly uses categories in your Flask template?
hard
A. {% for message, category in get_flashed_messages() %}
{{ message }}
{% endfor %}
B. {% for message in get_flashed_messages() %}
{{ message }}
{% endfor %}
C. {% for message, category in get_flashed_messages(with_categories=True) %}
{{ message }}
{% endfor %}
D. {% for category, message in get_flashed_messages(with_categories=True) %}
{{ category }}
{% endfor %}
Solution
Step 1: Use get_flashed_messages with categories
To access categories, call get_flashed_messages(with_categories=True) which returns (category, message) pairs.
Step 2: Correctly unpack and use variables in template
Unpack as (category, message) and use category in CSS class for styling.
Final Answer:
{% for category, message in get_flashed_messages(with_categories=True) %}
<div class="alert alert-{{ category }}">{{ message }}</div>
{% endfor %} -> Option D
Quick Check:
Use with_categories=True and unpack (category, message) [OK]
Hint: Use with_categories=True and unpack (category, message) [OK]
Common Mistakes:
Not using with_categories=True to get categories
Swapping message and category order
Using get_flashed_messages() without categories
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.