Arrondir dans les parenthèses de jinja2
Je suppose, en général, je suis curieux de savoir ce que les opérations sont autorisées dans jinja2 entre parenthèses, par exemple, ce que j'essaie de faire est d'effectuer une opération sur les données comme suit:
{{ round(255*(mileage['chevy'] - mileage['ford']))/1000 }}
Cela lève l'erreur sur l'exī:
UndefinedError: ronde " n'est pas défini
De même, lorsque j'essaie d'utiliser 'abs' dans un entre crochets jinja bloc, j'obtiens une erreur Undefined--même s'ils sont à la fois standard lib fonctions. Est-il un moyen pour effectuer cette opération au cours de rendu du modèle, plutôt que de avant de transmettre les données?
source d'informationauteur maxm | 2011-10-06
Vous devez vous connecter pour publier un commentaire.
De la jinja2 création de modèles de langage est différent du langage python. Dans jinja2, opération sur valeurs sont souvent fait au cours de filtres :
{{ something | operation }}
. Vous pouvez trouver un liste des filtres dans le jinja2 de la documentation.Par exemple, pour rondevous pouvez le faire :
Cela affichera "42" sur la page web. Un
abs
filtre existent de la même manière.Veuillez noter que ces filtres ne peuvent être utilisés pour modifier les valeurs avant de les afficher, et peut être utilisé pour les calculs. Les calculs ne devrait pas être fait dans le modèle de toute façon.