2

当我在@app.before_request 中使用flash() 时,我得到了看似随机数量的重复条目。一遍又一遍地刷新页面会给我 1 到 4 条重复消息。

没有任何重定向。

我的代码很简单:

   if app.config['INSTANCE'] == 'DEV':
       flash("This data is from the development DB")

或者,我无法弄清楚如何通过 get_flashed_messages() 访问/修改 flash() 似乎附加到模板之外的消息数组。有谁知道怎么做?

4

1 回答 1

7

您可以通过 访问等待消息列表flashes = session.get('_flashes', [])。可以在 Github 上查看代码

关于为什么您会收到一些消息闪烁,这是因为您正在发出多个请求(但可能不知道)。您的网络浏览器可能会询问favicon.ico哪个是请求,因此会导致闪烁等。如果您在调试模式下运行,您的控制台窗口将显示所有正在处理的请求。例如,在 Chrome 中加载一个简单的烧瓶示例会导致显示:

127.0.0.1 - - [21/Jun/2013 16:35:05] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [21/Jun/2013 16:35:05] "GET /favicon.ico HTTP/1.1" 404 -

一个是我请求查看主页,另一个是 Chrome 请求图标(并且被告知它不存在)。

于 2013-06-21T20:36:39.407 回答