当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Django get_messages用法及代码示例


本文介绍 django.contrib.messages.get_messages 的用法。

声明

get_messages(request)[source]

在您的模板中,使用以下内容:

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

如果您使用上下文处理器,您的模板应该使用 RequestContext 呈现。否则,请确保 messages 可用于模板上下文。

即使您知道只有一条消息,您仍然应该遍历 messages 序列,否则将不会为下一个请求清除消息存储。

上下文处理器还提供了一个 DEFAULT_MESSAGE_LEVELS 变量,它是消息级别名称与其数值的映射:

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

在模板之外,您可以使用 get_messages()

from django.contrib.messages import get_messages

storage = get_messages(request)
for message in storage:
    do_something_with_the_message(message)

例如,您可以获取所有消息以在 JSONResponseMixin 而不是 TemplateResponseMixin 中返回它们。

get_messages() 将返回已配置存储后端的实例。

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.contrib.messages.get_messages。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。