我已经设法通过使用自定义过滤器从 jinja2 调用 python 函数,但我似乎只能调用带有一个或多个参数的函数。在下文中,我必须传递一个垃圾参数才能将 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!