starlette_flash
v1.1.0: bump deps
Flash messages for Starlette framework.
Install starlette_flash using PIP or poetry:
pip install starlette_flash
# or
poetry add starlette_flashSee example application in examples/ directory of this repository.
You must install SessionMiddleware to use flash messages.
To flash a message use flash helper.
from starlette_flash import flash
def index_view(request):
flash(request).add('This is a message.', 'success')There are several predefined helpers exists which automatically set the category:
from starlette_flash import flash
def index_view(request):
flash(request).success('This is a message.')
flash(request).error('This is a message.')
flash(request).info('This is a message.')
flash(request).debug('This is a message.')To get current flash messages without removing them from session, use all method:
from starlette_flash import flash
def index_view(request):
flash(request).success('This is a message.')
messages = flash(request).all()
print(messages) # {'category': 'success', 'message': 'This is a message.'}You can read messages one by one and then clear the storage by using consume method.
from starlette_flash import flash
def index_view(request):
flash(request).success('This is a message.')
messages = []
for message in flash(request).consume():
messages.append(message)
print(messages) # {'category': 'success', 'message': 'This is a message.'}
print(flash(request).all()) # empty, messages has been consumedYou can iterate the flash bag to consume messages as well:
from starlette_flash import flash
def index_view(request):
flash(request).success('This is a message.')
messages = []
for message in flash(request):
messages.append(message)
print(messages) # {'category': 'success', 'message': 'This is a message.'}
print(flash(request).all()) # empty, messages has been consumed