如何将参数传递给jinja2烧瓶函数调用

How to pass parameters to a jinja2 flask function call?

本文关键字:函数调用 jinja2 参数传递      更新时间:2023-09-26

我正试图将一个参数传递给context_processor函数。

@app.context_processor
    def my_utility_processor():
        def foo(var):
            return var
    return dict(foo=foo)

jinja/html模板部分如下所示:

    <button type="button" class="btn btn-info" onclick="var name={{ i.DeviceName }};this.disabled=true;alert('{{ foo({{ variable }}) }} ')">
Click</button>

是否可以以某种方式将jinja2参数传递给jinja函数调用?

一旦输入{{ ... }}块,就受Python语法的控制。

alert('{{ foo(variable) }} ')"

不过,根据foo的输出,这可能会导致JavaScript错误。你可以更进一步,让Jinja格式为你的输出

alert({{ foo(variable)|tojson|safe }})

这将为您处理诸如引用字符串之类的事情。