使用Jinja2和python格式化日期

使用Jinja2和python格式化日期,python,datetime,jinja2,Python,Datetime,Jinja2,我需要在模板上格式化此日期,因为它来自字典上的数据库 我的模板上显示了此日期: 1996-08-22 我想这样: 22-08-1996 以下是我的代码: {{date['Fundação'] }} 我尝试使用strftime,但出现错误: {{date['Fundação']|strftime('%d-%m-%Y')}} 错误: jinja2.exceptions.TemplateAssertionError: no filter named 'strftime' 您可以实现一个pyt

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

我的模板上显示了此日期:

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
内置方法,而不是筛选器:

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

请发布并添加strftime代码以及任何错误或回溯的全文。您认为strftime确实存在吗?谢谢,我认为这是一个标准的功能。但它像一个符咒