Django 消息框架:消息作为字符串

pis*_*hio 1 django django-templates

我在我看来添加了这样的消息:

from django.contrib import messages
messages.success(request, 'contact-ok')
Run Code Online (Sandbox Code Playgroud)

如何检查是否存在特定消息?我试过这样

{% if messages %}
    {% for message in messages %}
        {% if message == 'contact-ok' %}
            alert('ok');
        {% endif %}                    
    {% endfor %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)

但不知何故,消息可以像字符串一样打印,但不能像字符串一样比较,并且警报不会被调用。有什么帮助吗?

Tim*_*ony 5

中的每条消息messages都是一个 python 对象,而不是字符串。您可以Message在 中看到该类django.contrib.messages.storages.base。您会注意到每个Message都有一个message属性,因此不要尝试将对象与字符串进行比较,而是使用对象的消息属性:

{% if message.message == 'contact-ok' %}
Run Code Online (Sandbox Code Playgroud)