3.6 使用Flask-Moment本地化日期和时间
初始化 Flask-Moment
from flask_moment import Moment
moment = Moment(app)
引入 moment.js 库
{% block scripts %}
{{ super() }}
{{ moment.iclude_moment() }}
{% endblock %}
为了处理时间戳,Flask-Moment 向模板开放了 moment 类。示例 3-13 中的代码把变量current_time 传入模板进行渲染。
加入一个 datetime 变量
from datetime import datetime
@app.route('/')
def index():
return render_templete('index.html, current_time=datetime.utcnow()')
如何在模板中渲染 current_time
<p>The local data and time is {{moment(current_time).format('LLL')}}.</p>
<p>That was {{ moment(current_time).fromNow(refresh=True) }}</p>
format(‘LLL’) 根据客户端电脑中的时区和区域设置渲染日期和时间。参数决定了渲染的方
式, ‘L’ 到 ‘LLLL’ 分别对应不同的复杂度。 format() 函数还可接受自定义的格式说明符。
第二行中的 fromNow() 渲染相对时间戳,而且会随着时间的推移自动刷新显示的时间。这
个时间戳最开始显示为“a few seconds ago”,但指定 refresh 参数后,其内容会随着时
间的推移而更新。如果一直待在这个页面,几分钟后,会看到显示的文本变成“a minute
ago”“2 minutes ago”等。