Jinja2で数値(int)に変換エラー:UndefinedError: 'int' is undefined

- Python -
2020.12.23
Python[パイソン]

FlaskアプリのJinja2テンプレート内で文字列型の数字をint型に変換しようと思って、こんな↓ふうにPythonと同じイメージでint(xxx)と書いたら、

jinja2<button class="btn btn-{% if int(item.price) <= 100 %}danger{% else %}success{% endif %}">設定する</button>

こんなエラーが出ました。

jinja2.exceptions.UndefinedError: 'int' is undefined

これを解決するには、jinja2のテンプレートお作法にしたがって|intフィルターを使います。

jinja2<button class="btn btn-{% if item.price|int <= 100 %}danger{% else %}success{% endif %}">設定する</button>

ついPythonと同じ書き方をしてしまいますね。

参考stack overflow:How to check if a variable is an integer in Jinja2?

↑TOP