我是首次使用Jinja2,并尝试将当前日期插入到文档中作为底线,以告诉用户何时生成文档。
我当前的解决方案是
Produced on {{ utils.today|date('%x') }}
没有错误消息,但是什么也没产生。
解决方案只需要是Jinja2,因为我没有运行python进程-使用Ginger(Haskell程序)来处理模板。
答案 0 :(得分:0)
Context Processors可用于在呈现值之前将值注入模板。
在app.py中:
import datetime
@app.context_processor
def inject_today_date():
return {'today_date': datetime.date.today()}
并将其添加到html文件中:
<p>{{today_date}}</p>
输出:2019-01-07
答案 1 :(得分:0)
Jinja2不支持插入日期。但是,您可以在用于渲染模板的任何库中轻松准备日期,并将值传递给渲染函数。
在Python中使用jinja2:
import datetime
date = datetime.date.today()
template = Template('Produced on {{ date }}')
template.render(date=date)
如果使用的是Ginger,您将拥有相同的模板,只需确保在Haskell中创建日期并使用该值呈现模板即可。
您还可以编写或安装jinja2扩展名,该扩展名将使用于处理日期的实用程序在模板中可用。
例如,安装jinja2-time [1]后,您的模板将如下所示:
Produced on {% now 'local' %}
[1]:未经测试的代码