Создайте пользовательский тег шаблона и передайте level
в качестве аргумента.Примерно так:
# yourapp/templatetags/message_level.py
from django import template
# import your DEFAULT_MESSAGE_LEVELS
register = template.Library()
@register.simple_tag
def get_message_css_level(level):
'''Returns the class name for a tag based on the message level'''
if level == DEFAULT_MESSAGE_LEVELS.ERROR:
return 'danger'
elif level == DEFAULT_MESSAGE_LEVELS.WARNING:
return 'warning'
elif level == DEFAULT_MESSAGE_LEVELS.SUCCESS:
return 'success'
elif level == DEFAULT_MESSAGE_LEVELS.INFO:
return 'info'
elif level == DEFAULT_MESSAGE_LEVELS.DEBUG:
return 'dark'
else:
return 'light'
Также создайте пустой файл __init__.py
внутри templatetags
, это важно.Затем в свой template
добавьте новый тег шаблона:
{% load message_level %}
<div class="alert alert-{% get_message_css_level message.level %} alert-dismissible fade show" role="alert">
{{ message }}
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>