Округление в jinja2 скобки
Я думаю, как правило, мне интересно, какие операции допустимы в скобках jinja2, например, что я пытаюсь сделать, это выполнить операцию со встроенными данными, например:
{{ round(255*(mileage['chevy'] - mileage['ford']))/1000 }}
Это вызывает ошибку при трассировке:
UndefinedError:' round ' не определено
аналогично, когда я пытаюсь использовать " abs " в заключенном в скобки блоке jinja, я получаю неопределенную ошибку, хотя они оба являются стандартными функциями lib. Есть ли способ выполнять эту операцию во время отрисовки шаблона, а не перед передачей данных?
1 ответов
язык шаблонов jinja2 отличается от языка python. В jinja2 операция над значениями часто выполняется во время фильтров:{{ something | operation }}
. Вы можете найти список фильтров в документации jinja2.
например, to круглые, вы можете сделать :
{{ 42.55|round }}
это отобразит "42" на веб-странице. А abs
фильтр существует таким же образом.
обратите внимание, что эти фильтры могут быть использованы только для изменения значений перед дисплей, и может быть использован для вычислений. Вычисления не должны выполняться в шаблоне в любом случае.