使用 Flask 在 2 个不同的地方闪烁 2 组消息

Flashing 2 groups of messages in 2 different places using Flask

我正在尝试使用 Flask flash 网页的 2 个不同部分中的 2 组不同消息。

在我的网页上,我有代码来获取一组消息的闪烁消息:

    {% with messages = get_flashed_messages() %}
      {% if messages %}
        <ul class=flashes>
        {% for message in messages %}
          <li>{{ message }}</li>
        {% endfor %}
        </ul>
      {% endif %}
    {% endwith %}

如何创建另一个实例并向其发送一组完全不同的消息?

您链接的文档有解决方案:

http://flask.pocoo.org/docs/0.10/patterns/flashing/#filtering-flash-messages

Filtering Flash Messages New in version 0.9.

Optionally you can pass a list of categories which filters the results of get_flashed_messages(). This is useful if you wish to render each category in a separate block.

例如,您可以像这样闪烁消息:

flash('category one flash message', 'category1')
flash('category two flash message', 'category2')

然后在您的模板中:

{% with messages = get_flashed_messages(category_filter=["category1"]) %}
  {% if messages %}
    <ul class=flashes>
    {% for message in messages %}
      <li>{{ message }}</li>
    {% endfor %}
    </ul>
  {% endif %}
{% endwith %}

{% with messages = get_flashed_messages(category_filter=["category2"]) %}
  {% if messages %}
    <ul class=flashes>
    {% for message in messages %}
      <li>{{ message }}</li>
    {% endfor %}
    </ul>
  {% endif %}
{% endwith %}