Flask 我的自定义Jinja模板过滤器无法注册或工作?
我已创建自定义筛选器,但我的Flask服务器出现内部错误Flask 我的自定义Jinja模板过滤器无法注册或工作?,flask,jinja2,Flask,Jinja2,我已创建自定义筛选器,但我的Flask服务器出现内部错误 @app.template_filter('doSomething') def doSomething(input): print(input) return input HTML 经过一些搜索、尝试和错误,这是唯一对我有效的方法: def doSomething(input): print(input) return input app.jinja_env.globals.update(doSomet
@app.template_filter('doSomething')
def doSomething(input):
print(input)
return input
HTML
经过一些搜索、尝试和错误,这是唯一对我有效的方法:
def doSomething(input):
print(input)
return input
app.jinja_env.globals.update(doSomething=doSomething)
在文档中,它说:doSomethingWith{{user.username | tojson | safe};这意味着user.username对象将被json序列化,然后传递给doSomethingWith,这是一个JavaScript函数;与您在示例中使用的{{doSomethingWithuser.username | tojson | safe;}}不同,您在尝试从模板显式调用python函数时,请尝试此方法,如果您仍然有任何问题,请告诉我们您到底在尝试实现什么。@AndrewAllen我读过它,我确实遇到了问题。正如你所看到的,我的例子与他们给出的第一个例子相匹配。我甚至将他们的示例复制到我的代码中,但他们的反向过滤器仍然会出现相同的错误。
jinja2.exceptions.UndefinedError: 'doSomething' is undefined
def doSomething(input):
print(input)
return input
app.jinja_env.globals.update(doSomething=doSomething)