有两种方法可以做到这一点。直接的方法是简单地调用(并打印)模板中的strftime()方法,例如
{{ car.date_of_manufacture.strftime('%Y-%m-%d') }}
另一种明显更好的方法是定义自己的过滤器,例如:
from flask import Flaskimport babelapp = Flask(__name__)@app.template_filter()def format_datetime(value, format='medium'): if format == 'full': format="EEEE, d. MMMM y 'at' HH:mm" elif format == 'medium': format="EE dd.MM.y HH:mm" return babel.dates.format_datetime(value, format)
(出于与i18n有关的原因,此过滤器基于babel,但您也可以使用strftime)。过滤器的优点是,您可以编写
{{ car.date_of_manufacture|datetime }}{{ car.date_of_manufacture|datetime('full') }}
看起来更好,更易于维护。另一个常见的过滤器也是“ timedelta”过滤器,其计算结果类似于“
8分钟前编写”。您可以使用
babel.dates.format_timedelta它,并将其注册为类似于此处给出的datetime示例的过滤器。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)