Jinja2で数値(int)に変換エラー:UndefinedError: 'int' is undefined
- Python -
2020.12.23
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?