Насколько я знаю, нет способа сделать это из самого шаблона (конечно, без пользовательского тега или фильтра). Это довольно легко выполнить вне шаблона, хотя (не проверено):
from django.contrib.messages import get_messages, constants as message_level
def last_message(messages, level = None):
"""Returns the last Message object in the messages with the
specified level, or just the last message if no level is
specified
"""
if level is None:
return None if not messages else messages[-1]
level = int(level) # Not strictly necessary, but Message object does this in its __init__()
for message in reversed(messages):
if message.level == level:
return message
return None
Использование:
messages = get_messages(request)
the_last_message = last_message(messages)
the_last_success_message = last_message(messages, message_level.SUCCESS)
Затем вы можете передать эти значения в шаблон через контекст.