我知道这里有类似的问题,但他们没有帮助我。
在主py
文件中,我刚刚设置了名为nowts
的全局变量,如下所示:
app.jinja_env.globals['nowts'] = datetime.datetime.now()
和在主(基础)模板(base.html
文件)我只是传递和格式化日期时间如下:
{% block navbar %}
...
<p>{{ nowts.strftime('%A, %b %d %Y / %X') }}</p>
...
{% endblock %}
例如,输出为:
Wednesday, Mar 26 2014 / 11:57:51
如您所见,日期和时间正确显示,但是只显示一次。几分钟后,我重新打开主页(或子页面),时间还是一样的。如果用户刷新页面,如何始终更新nowts
全局变量?使用上下文处理器为每个请求注入值:
@app.context_processor
def inject_template_globals():
return {
'nowts': datetime.datetime.utcnow(),
}
对于web服务器,您通常希望使用UTC时间,而不是本地时间。你永远不知道你的请求从何而来