使用 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')}}
我需要在模板上格式化这个日期,因为它来自字典中的数据库。
我的模板上显示了这个日期:
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')}}