カスタムフィルターを使用してjinja2からPython関数を呼び出すことができましたが、1つ以上のパラメーターを使用して関数を呼び出すことしかできないようです。以下では、ctestを変数ではなく関数として扱うために、ジャンクパラメーターを渡す必要がありました。
また、電話をかけるだけでは機能しません{{ ctest() }}
。
これを強制的に関数呼び出しにする別の方法はありますか、それとも別のアプローチを使用する必要がありますか?
コード:
def ctest(stuff):
return "yeah!"
template_env = jinja2.Environment (loader = jinja2.FileSystemLoader(template_file_root))
#custom filters
template_env.filters['ctest'] = ctest
レンプレート:
Working? {{ junk|ctest }}
出力:
working? yeah!