Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flask 我的自定义Jinja模板过滤器无法注册或工作?_Flask_Jinja2 - Fatal编程技术网

Flask 我的自定义Jinja模板过滤器无法注册或工作?

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

我已创建自定义筛选器,但我的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(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)