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

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

我想在主页上显示时间及显示是多少时间之前这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>        

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


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

【热门文章】
【热门文章】