如何将参数传递给jinja2 flask函数调用?

时间:2015-12-17 13:59:36

标签: javascript python flask jinja2

我正在尝试将参数传递给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函数调用吗?

1 个答案:

答案 0 :(得分:1)

输入{{ ... }}块后,您将受到Python语法的约束。

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

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

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

这会照顾为你引用字符串之类的事情。