使用Flask在2个不同的位置闪烁2组消息

时间:2015-11-27 00:58:18

标签: python flask jinja2

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

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

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

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

1 个答案:

答案 0 :(得分:3)

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

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

  

过滤Flash 0.9版本中新增的Flash消息。

     

您可以选择传递过滤结果的类别列表   get_flashed_messages()。如果您希望渲染每个,这非常有用   在一个单独的区块中的类别。

例如,您可以像这样刷新消息:

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 %}