烧瓶,一条闪光消息没有显示[重复]

Posted

技术标签:

【中文标题】烧瓶,一条闪光消息没有显示[重复]【英文标题】:Flask, one flash message not getting displayed [duplicate] 【发布时间】:2018-08-07 07:54:34 【问题描述】:

我知道 flash 设置正确,因为所有其他 flash 消息都正确显示。

我更新了一个视图。它曾经从 javascript window.location 函数调用烧瓶路由,但现在使用 $.post() 将参数发送到路由。

flash 调用的位置没有改变(我在它之前放了一个 print 语句并执行,所以我知道解释器可以进行 flash 调用)。

路由方法中的所有代码都正确执行,但没有显示闪烁消息,我不知所措。 Google 搜索没有任何结果。

这是路由方法的最后3行

db.session.commit()
flash('Database Updated')
return redirect(url_for('index'))

【问题讨论】:

【参考方案1】:

我认为(但我不确定,因为您没有包含index 的代码),索引中的模板不包含闪存。您需要格式化索引页(或基本模板)以显示 Flash。

查看示例:http://flask.pocoo.org/docs/0.12/patterns/flashing/,实际上:

% with messages = get_flashed_messages() %
  % if messages %
    <ul class=flashes>
    % for message in messages %
      <li> message </li>
    % endfor %
    </ul>
  % endif %
% endwith %

【讨论】:

嘿。不,我已将其包括在内。如上所述,它适用于所有其他 flash 消息(上面的代码在 base.html 文件中,包含在所有模板中。其他 flash 消息在索引页面上正确显示)但是由于某种原因,只有这个特定的迷路了 其他情况下是否优先使用flash? 程序使用的所有其他 flash() 调用都与上面的示例相匹配,除了显示字符串参数 所以它应该像其他情况一样打印 flash。我认为这只是一个愚蠢的错误(错字或类似的东西),但没有完整的代码,我无能为力。检查调试日志。尝试在函数开头移动闪存(db.commit 是否引发异常?)。所有调度都在同一个文件上? (烧瓶在多个文件上很弱) 现在检查调试,消息被传递给 helpers.py 并被正确记录。我真的不知道发生了什么。无论如何感谢您的时间

以上是关于烧瓶,一条闪光消息没有显示[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用css或javascript悬停几秒钟后显示一条消息[重复]

Python:如何在烧瓶中显示 matplotlib [重复]

尽管有 200 条消息,flask send_file 仍然失败 [重复]

如果用户的浏览器早于:IE 10、Firefox 39、Chrome 39、Opera 8,则显示一条消息 [重复]

Android java.lang.NullPointerException:println需要一条消息[重复]

安装时颤动显示消息[重复]