如何将时间戳更新为Jinja2中的全局变量



我知道这里有类似的问题,但他们没有帮助我。

在主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时间,而不是本地时间。你永远不知道你的请求从何而来

相关内容

  • 没有找到相关文章

最新更新