Saturday, April 30, 2011

Print "flash" messages in templates for certain levels

Hi,
django.contrib.messages is very handy and useful app. When I use it in
template I'd like to print in one place in template only messages with
certain level. That's not possible as I can understand it. You can
print all of them (as described in documentation):

{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}
>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}

But you can't print only for example success messages like:
{% for message in messages.success %}


Use case is for example if you want to print different level of
messages for different type of users (administrators, users etc.). Or
you don't want to print all type of level messages unordered but want
to print some levels first and some others later on the page.

Have you been discovered similar use cases? Would it be useful to add
"level as a list behaviour messages.whatever" in template? Or is there
other better solution?

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment