0

我有一个用例,当 page2 将用户重定向到 page1 时,第 1 页应该显示一条 Flash 消息(例如,您的订单已成功下达)。当用户直接访问 page1 而没有从 page2 重定向时,我不会显示任何 flash 消息。

重定向时将 flash_message 从 page2 发送到 page1 的最佳方式是什么。

目前我将它作为查询参数发送。Page1 默认有一个可选参数 flash_message,但是当用户提供 flash_message 时,它​​会显示该 flash 消息。

这是在烧瓶中的页面之间传递闪存消息的方式吗

4

2 回答 2

2
  1. 使用参数重定向:您为page1链接/表单设置参数page2,如果参数设置为page1则显示消息。很好的解决方案。
  2. 使用特殊路由重定向:您有特殊的page1重定向路由page2。它类似于参数。
  3. 使用 referer 重定向:您将 http referer 标头检查为page2for page1很好的解决方案,但代理可能会出现问题。
  4. 使用锚点重定向:您将锚点设置为打开page2并重定向而不将锚点替换为page1,在page1您检查锚点并显示消息时。当您有活动的 ajax 请求并将会话存储在 cookie 中时,这对我来说是最好的方法。很好的解决方案。
  5. 将历史存储在前端的存储中:您将页面访问或消息保存page1在会话存储中,如果page1在之后访问page2或设置消息标志并访问page1然后显示消息。
  6. 将历史存储在后端的存储中:您保存访问的页面,如果page1访问过,page2则显示消息。
于 2013-10-23T07:54:39.050 回答
0

它在文档中。您应该调用flash()带有消息的方法以在您的视图中闪烁。在模板(用于重定向页面)中,只需调用get_flashed_messages()获取消息列表并打印它们。如果用户直接来,则不会有flash()呼叫,因此get_flash_messages()不会返回任何消息。

此外,每次调用都会为同一请求get_flash_message()返回相同的消息集,但会清空闪存队列以供后续请求。API 文档中的更多信息

于 2013-10-23T08:04:53.590 回答