安装 flask-moment
在templates/base.html中引入moment.js库
Flask-Moment依赖moment.js jquery.js,Bootstrap已经引入了moment.js,现在只需引入moment.js即可
{% extends "bootstrap/base.html" %}
{% block scripts %}
{{ super() }}
{{ moment.include_moment() }}
{% 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="/">Flask</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">
<div class="page-header">
{% block page_content %}{% endblock %}
</div>
</div>
{% endblock %}
引入之后,Flask-Moment向模板开放了moment类,接下来把时间传入模板进行渲染
在hello.py中初始化Flask-Moment,并加入datetime变量
from flask import Flask,request,make_response,redirect,render_template
from flask_bootstrap import Bootstrap
from flask_moment import Moment
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())
@app.errorhandler(404)
def page_not_found(e):
return render_template('404.html'), 404
@app.errorhandler(500)
def internal_server_error(e):
return render_template('500.html'), 500
@app.route('/user/<name>')
def user(name):
return render_template('user.html', name=name)
@app.route('/user/<id>')
def get_user(id):
user = load_user(id)
if not user:
abort(404)
return '<h1>Hello, %s</h1>' % user.name
if __name__ == '__main__':
bootstrap.run()
moment.run()
在templates/index.html中使用Flask-Moment渲染时间戳
{% extends "base.html" %}
{% block page_content %}
<p>The local date and time is {{ moment(current_time).format('LLL')}}</p>
<p>That was {{ moment(current_time).fromNow(refresh=True) }}</p>
{% endblock %}
时间展示