私はこれをいくつかの方法で試しました。ドキュメントによると、私は自分のアプリのiniでこれを実行しました。
[app:myapp]
#...
jinja2.filters =
islist = myapp.machines.islist
私の機能は単純です:
def islist(item):
return isinstance(item, list)
islist
関数への点線のパスを間違えると、アプリがエラーをスローするため、iniファイルのフィルター設定行が読み取られていることがわかります。
ただし、テンプレートで関数を使用しようとするとislist
、テンプレートが関数を見つけることができません。
{% if islist([]) %}a list{% else %}not a list{% endif %}
この結果:
UndefinedError: 'islist' is undefined
私は何が間違っているのですか?どんな助けでも素晴らしいでしょう。