Flask-moment 无法通过moment.js 在网页上显示时间

发布于 2022-09-03 11:25:32 字数 2130 浏览 15 评论 0

我想在主页上显示时间及显示是多少时间之前这2个功能
所以,通过flask-moment模板来进行设置,但是,却无法成功,下面是我的代码,麻烦帮忙看看是哪里出了错??谢谢

这个是应用实例hello.py程序,已经使用了bootstrap

from flask.ext.bootstrap import Bootstrap
from flask.ext.moment import Moment
from flask import request
from datetime import datetime

app = Flask(__name__)
bootstrap=Bootstrap(app)
moment=Moment(app)

@app.route('/')
def index():
    return render_template('index.html',current_time=datetime.utcnow())

这个是templates下面的base.html文件



{% extends "bootstrap/base.html" %}
{%block head%}
{{super()}}
<link rel='shortcut icon' href="{{url_for('static',filename='favicon.ico')}}" type='image/x-icon'>
<link rel='icon' href="{{url_for('static',filename='favicon.ico')}}" type="image/x-icon">
{% block scripts %}          #这里已经引入了moment.js库
{{ super() }}                 #但是不知道在这里引入是否算正确???
{{ moment.include_moment() }}
{% endblock %}
{%endblock%}

{% block title %}Flasky{% endblock %}

{% block navbar %}
    <div class="navbar navbar-inverse" role="navigation">
    <div class="container">
    <div class="navbar-header">
    <button type="button" class="navbar-toggle"
        data-toggle="collapse" data-target=".navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
    </button>
<a class="navbar-brand" href="/">Flasky</a>
    </div>
<div class="navbar-collapse collapse">
    <ul class="nav navbar-nav">
    <li><a href="/">Home</a></li>
    </ul>
</div>
</div>
</div>
{% endblock %}
{% block content %}
    <div class="container">
{% block page_content %}{% endblock %}
    </div>
{% endblock %}

最后,这里是index.html里面的内容

<p>The local date and time is {{moment(current_time).format('LLL')}}.</p>
<p>That was {{moment(current_time).fromNow(refresh=True)}}</p>        

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

回忆追雨的时光 2022-09-10 11:25:32

你的代码里把block scripts 放到block header中了,他们在bootstrap/base.html中是同级的地位,你拿出来并列试试,应该就好了。

孤千羽 2022-09-10 11:25:32

代码看了没什么问题。你通过浏览器的Network检查下moment.js的js文件是否加载成功?这个默认是在flask库文件site-packages里的,通过cloudflare的cdn远程加载的,如果js文件没有加载成功,moment会无效的。

一个人的旅程 2022-09-10 11:25:32

在head块插入一下代码即可图片描述

2022-09-10 11:25:32

这是因为flask-moment 把时间隐藏了, 只要把display:none删除就可以,但是自动删除还没有找到方法

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文