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

2024-10-03 17:15:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道这里也有类似的问题,但他们帮不了我。在

在主py文件中,我只设置了名为nowts的全局变量,如下所示:

app.jinja_env.globals['nowts'] = datetime.datetime.now()

在主(基本)模板(base.html文件)中,我只传递和格式化datetime,如下所示:

^{pr2}$

例如,输出是:

Wednesday, Mar 26 2014 / 11:57:51

只显示一次日期和时间。几分钟后,我重新打开主页(或子页面),时间还是一样的。如果用户刷新页面,如何始终更新nowts全局变量?


Tags: 文件pyenv模板appbasedatetimehtml
1条回答
网友
1楼 · 发布于 2024-10-03 17:15:32

使用context processor为每个请求注入值:

@app.context_processor
def inject_template_globals():
    return {
        'nowts': datetime.datetime.utcnow(),
    }

对于web服务器,您通常希望使用UTC时间,而不是本地时间。你永远不知道你的请求来自哪里。在

相关问题 更多 >