在 Jinja2 模板中格式化日期時間

過濾器可以在方法中定義,然後新增到 Jinja 的過濾器字典中,或者在用 Flask.template_filter 裝飾的方法中定義。

稍後定義和註冊:

def format_datetime(value, format="%d %b %Y %I:%M %p"):
    """Format a date time to (Default): d Mon YYYY HH:MM P"""
    if value is None:
        return ""
    return value.strftime(format)

# Register the template filter with the Jinja Environment
app.jinja_env.filters['formatdatetime'] = format_datetime

用裝飾器定義:

@app.template_filter('formatdatetime')
def format_datetime(value, format="%d %b %Y %I:%M %p"):
    """Format a date time to (Default): d Mon YYYY HH:MM P"""
    if value is None:
        return ""
    return value.strftime(format)