Small tool to add and show flash messages
for add new message to flash message queue
from pyramid_flash_message import MessageQueue
flash_message = MessageQueue()
flash_message.add('some message')
flash_message.add('danger message', message_type='danger')
flash_message.add('danger message', message_type=MessageQueue.danger)
by default in instant of MessageQueue added to request object so you can use request object without importing MessageQueue
request.flash_message.add('some message')
request.flash_message.add('danger message', message_type='danger')
request.flash_message.add('danger message', message_type=request.flash_message.danger)
you also can pass translation mapping and translation domain to it when you add new message or create new instance of MessageQueue.
request.flash_message.add('some message ${var1}', mapping={'var1': 123})
request.flash_message.add('some message', domain='some_domain')
pyramid_flash_message use default pyramid i18n system. so you can pass mapping arg to use in translation. also if you like to show source of message you can use source arg.
now for show flash message you can use flash_message panel in your templates
panel('flash_message', per_page=20, read=False)
for instance in jinja2 templates
{{ panel('flash_message', per_page=20, read=False) }}
there is also flash_message view than get page and per_page and read params for paged view of messages. this params will get via GET method so you can use it via
<a href="{{ request.route_url('flash_message') }}">View all messages</a>
<a href="{{ request.route_url('flash_message') }}?read=true">View and mark read</a>
for installing pyrmaid_flash_message
pip install pyramid_flash_message
add then add this package to your application
pyramid.includes =
pyramid_flash_message
or
config.include('pyramid_flash_message')
You can use project issue page to submit your issue
- handle error in session don't found
- get and use domain in translation
- add message count
- some bugfix
- some bugfix and documentation
- some bugfix (now you can use it)
- refactor as package
- some bugfix
- init project and create skeleton of it