使用 Jinja2 和 python 格式化日期

Format date with Jinja2 and python

我需要在模板上格式化这个日期,因为它来自字典中的数据库。

我的模板上显示了这个日期:

1996-08-22

我想成为这样的人:

22-08-1996

这是我的代码:

{{date['Fundação'] }}

我尝试使用 strftime 但出现错误:

{{date['Fundação']|strftime('%d-%m-%Y')}}

错误:

jinja2.exceptions.TemplateAssertionError: no filter named 'strftime'

您可以实现一个 python 函数来处理日期。

您可以从您的模板中使用它。

示例:

def reverse_date(a_date):
  d = a_date.split('-')
  d.reverse()
  reverse_d = '-'.join(d)
  return reverse_d

template = Template('your template')
template.globals['reverse_date'] = reverse_date
# now you can use it in your template
{{ reverse_date(date['Fundação']) }}

您可以将 jinja2 模板中的变量视为 Python 变量。要更改日期格式,请使用 datetime build-in 方法,而不是过滤器:

{{date['Fundação'].strftime('%d-%m-%Y')}}