[Grok-dev] Flash (ing) messages to user.
cklinger at novareto.de
Fri Aug 17 18:55:00 UTC 2012
i use a viewlet to display the error messages. This has the advantage
that i don't have to take care on every View if there is a flash message
Here is the viewlet:
received = receive()
if received is not None:
self.messages = list(received)
self.messages = 
and here the template for it.
<tal:messages tal:repeat="message viewlet.messages"
<div id="info-message" class="" tal:attributes="class message.type or
<span tal:content="message.message" />
Christian Schmidt schrieb:
> Hello Group,
> the grok.View.flash() method allows us to send short messages to the
> user. I.e. confirmation or error messages.
> after some hours of reading the sourcecode I found out how to get the
> messages displayed. Here is my solution:
> from grokcore.message.utils import receive
> ... view-class where the message is triggered:
> self.flash(u'this is my message')
> ... view-class where the message is displayed:
> self.messages = receive()
> ... template (similar to /grokui/base/templates/statusmessages.pt )
> <div class="notification">
> <dd tal:repeat="message view/messages"
> tal:attributes="class message/type"
> tal:content="message/message">notification goes here</dd>
> my question. Is this the state of the art way to get messages displayed
> or is there any better solution?
> question to the core developers:
> why I am able to use flash as a View- method but for receiving messages
> I have to import the receive - method from the message - Package. -
> that's confusing - wouldn't it be better to make "receive()" a
> View-method too?
More information about the Grok-dev