當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。