您可以使用extra_tags
messages属性获得一定程度的自由度。
参见https://docs.djangoproject.com/en/1.11/ref/contrib/messages/#adding-extra- message- tags
因此,您可能会有不同extra_tags
的号召性用语,例如
# views.py
messages.success(request, 'You have signed up', extra_tags='suggest_upgrade')
要么:
messages.success(request, 'You have signed up', extra_tags='suggest_share')
接着:
{% for message in messages %}
{% if 'suggest_upgrade' in message.extra_tags %}
<h1>Get these extra features</h1>
<p>info here</p>
{% elif 'suggest_share' in message.extra_tags %}
<h1>Share with friends</h1>
<p>other info here</p>
{% endif %}
{% endfor %}
您甚至可以将子消息作为标记本身传递,尽管它可能不是为此目的而设计的:
messages.success(request, 'Main message here', extra_tags='submessage here')
接着:
{% for message in messages %}
<h1>{{ message }}</h1>
<p>{{ message.extra_tags }}</p>
{% endfor %}