Python 我为什么要用烧瓶里的闪光灯?

Python 我为什么要用烧瓶里的闪光灯?,python,flask,Python,Flask,我什么时候需要使用flash('message')?此时,我只是将一个变量以及需要显示的任何消息传递给模板。这对我来说似乎很好,我错过了什么 {% if messageText %} <div id="message">{{messageText}}</div> {% endif %} {%if messageText%} {{messageText}} {%endif%} 如果您想在一个或多个请求中收集一条或多条消息,您可以使用它,其中包含可选类别。您的版本只处理当前

我什么时候需要使用
flash('message')
?此时,我只是将一个变量以及需要显示的任何消息传递给模板。这对我来说似乎很好,我错过了什么

{% if messageText %}
<div id="message">{{messageText}}</div>
{% endif %}
{%if messageText%}
{{messageText}}
{%endif%}

如果您想在一个或多个请求中收集一条或多条消息,您可以使用它,其中包含可选类别。您的版本只处理当前请求中的一条消息。闪存消息存储在会话中,直到使用
get\u Flashed\u messages
读取它们。例如,当用户提交表单时,您会闪烁一条成功消息,
重定向到下一页,然后显示该消息

当您必须在
重定向后向用户显示消息时,Flash消息非常有用

假设您有两条路线:

  • /使用者
  • /用户/添加
当您将新用户发布到
/users/add
路由时,您将在数据库中保存该用户,并将浏览器重定向到
/users
路由以列出注册用户


/users/add
路由视图功能中,您可以
闪烁一条类似“用户帐户已保存”的消息。此消息存储在cookie中,当您将
重定向到
/users
路径时,可以将此消息呈现给用户。

您为什么会担心此问题,能否与我们共享源代码?您的方法确实有效,但是如果你有很多页面,每个页面都可以有几个这样的消息,那么这会变得很麻烦。使用上述方法,你必须确保在每次使用后清除messageText。Flash会自动为您执行此操作,因为每条消息只显示一次。此外,您的示例仅在当前请求中有效。Flash是一种在下一次请求时显示消息的方法。John说了什么,如果您有1+条消息,并且在不同的类别中,该怎么办?(例如错误与信息)自定义代码会变得很麻烦。