【问题标题】:Flask-Moment not displaying anything on templateFlask-Moment 没有在模板上显示任何内容
【发布时间】:2017-12-05 11:23:06
【问题描述】:

我有一个名为 user.html 的模板,其中包含以下代码:

<p>Member since {{ moment(user.member_since).format('L') }}. Last seen {{ moment(user.last_seen).fromNow() }}.</p>

呈现以下页面:

看起来它没有渲染任何东西,但是查看同一页面的源代码:

...我可以看到标签之间的时间戳。

我的问题是:是什么阻止了浏览器在浏览器中显示我的时间戳?


需要考虑的事项:

  • 我正在使用 Flask-Moment==0.5.1(直接从 pip freeze 命令中提取)
  • 我正在从 PostgreSQL 数据库中提取时间戳(下图)
  • 我正在关注 Miguel Grinberg 的 Flask Web Development 一书(直接从那里提取代码)
  • 我已经检查了 Flask-Moment github 页面和 moment.js 文档,但没有找到这个问题的答案。

任何见解将不胜感激!


表中的时间戳注册表

【问题讨论】:

    标签: python postgresql flask


    【解决方案1】:

    找到我的问题的答案:

    需要使用Flask-Moment的模板需要包含以下几行:

    {{ moment.include_jquery() }}
    {{ moment.include_moment() }}
    

    这不在书中,但我在同一作者的The Flask Mega-Tutorial中找到了参考:

    https://blog.miguelgrinberg.com/post/flask-moment-flask-and-jinja2-integration-with-momentjs

    【讨论】:

    • 需要说明的是,这些指令需要在包含使用Moment.js的块中。将它们放在顶层对我没有任何帮助。
    【解决方案2】:

    时间不显示,因为标签中的style='display: none;'。这将告诉浏览器不显示标签。我不知道它来自哪里,但你应该把它改成style='display: inline;'

    【讨论】:

    • 有趣。你确实提出了一个很好的观点。我会看看我是否能找到所说风格的起源。直接在浏览器中更改样式会显示相应的时间戳。
    【解决方案3】:

    flask-moment 要求您的烧瓶应用程序可以访问jquery.comcloudflare.com。确保您的浏览器扩展没有阻止对外部域的访问,否则您可能会看到同样的问题。并不是说我会做如此愚蠢的事情。 :-]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-15
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      • 2020-03-24
      相关资源
      最近更新 更多