我想在主页上显示时间及显示是多少时间之前这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()}}
{% block scripts %} #这里已经引入了moment.js库
{{ super() }} #但是不知道在这里引入是否算正确???
{{ moment.include_moment() }}
{% endblock %}
{%endblock%}
{% block title %}Flasky{% endblock %}
{% block navbar %}
{% endblock %}
{% block content %}
{% block page_content %}{% endblock %}
{% endblock %}
最后,这里是index.html里面的内容
The local date and time is {{moment(current_time).format('LLL')}}.
That was {{moment(current_time).fromNow(refresh=True)}}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
代码看了没什么问题。你通过浏览器的Network检查下moment.js的js文件是否加载成功?这个默认是在flask库文件site-packages里的,通过cloudflare的cdn远程加载的,如果js文件没有加载成功,moment会无效的。
你的代码里把block scripts 放到block header中了,他们在bootstrap/base.html中是同级的地位,你拿出来并列试试,应该就好了。
这是因为flask-moment 把时间隐藏了, 只要把display:none删除就可以,但是自动删除还没有找到方法