当我在@app.before_request 中使用 flash() 时,我得到了看似随机的重复条目数。一遍又一遍地刷新页面会给我 1 到 4 条重复消息。
没有任何重定向。
我的代码很简单:
if app.config['INSTANCE'] == 'DEV':
flash("This data is from the development DB")
或者,我无法弄清楚如何访问/修改 flash() 似乎附加到模板中的消息数组,而不是通过 get_flashed_messages()。谁知道怎么做?
请您参考如下方法:
您可以通过 flashes = session.get('_flashes', []) 访问等待消息列表。你可以view the code on Github
请注意为什么您会收到一些闪烁的消息,这是因为您正在发出多个请求(但可能不知道)。您的网络浏览器可能正在请求 favicon.ico,这是一个请求,因此会导致闪烁等。如果您在 Debug模式下运行,您的控制台窗口将显示所有正在处理的请求。例如,在 Chrome 中加载一个简单的 flask 示例会导致显示:
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 请求网站图标(但被告知它不存在)。
