Flask アプリケーションで生成された日付をフォーマットしようとしています(アプリが使用するデータベースである MongoDB とdatetime.datetime.utcnow()
同等であるため、これを使用します) が、Jinja2 はそれらをレンダリングしません。ISODate()
アプリに次の機能があります。
def format_isodate(timestamp):
"""Format a ISODate time stamp for display."""
date = datetime.datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S.%f")
return date.strftime('%Y-%m-%d @ %H:%M:%S')
日付は次のようになります。
"2013-07-04 20:06:05.088000"
そして、私は次のフィルターを持っています:
app.jinja_env.filters['isodateformat'] = format_isodate
しかし、テンプレートでタイムスタンプをフォーマットしようとすると:
{{ change.submit_date|isodateformat }}
次のエラーが表示されます。
「TypeError: datetime.datetime ではなく文字列である必要があります」
このエラーが発生する理由がわかりません。strftime()
日付を文字列に変換しませんか?