Filtres de modèles Jinja2 personnalisés

Syntaxe

  • {{ my_date_time|my_custom_filter }}

  • {{ my_date_time|my_custom_filter(args) }}

Paramètres

Paramètre Détails
valeur La valeur transmise par Jinja, à filtrer
arguments Arguments supplémentaires à transmettre à la fonction de filtrage

Format datetime dans un modèle Jinja2

Les filtres peuvent soit être définis dans une méthode puis ajoutés au dictionnaire de filtres de Jinja, soit définis dans une méthode décorée avec Flask.template_filter.

Définir et enregistrer plus tard :

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

Définir avec le décorateur :

@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)