当我在@ app.before_request中使用flash()时,我得到的似乎是随机数量的重复条目。一遍又一遍地刷新页面会给我1到4个重复的消息。
没有任何重定向。
我的代码很简单:
if app.config['INSTANCE'] == 'DEV':
flash("This data is from the development DB")
或者,我无法弄清楚如何通过get_flashed_messages()来访问/修改flash()似乎附加到模板以外的消息数组。谁知道怎么做?
答案 0 :(得分:6)
您可以通过flashes = session.get('_flashes', [])
访问等待消息的列表。你可以view the code on Github
关于你为什么会收到一些消息的说明,这是因为你正在发出多个请求(但可能不知道)。您的Web浏览器可能要求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要求的图标(并且它被告知它不存在)。