我正在尝试将参数传递给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函数调用吗?
答案 0 :(得分:1)
输入{{ ... }}
块后,您将受到Python语法的约束。
alert('{{ foo(variable) }} ')"
但是,根据foo
的输出,这可能会导致JavaScript错误。您可以更进一步,让Jinja为您输出格式
alert({{ foo(variable)|tojson|safe }})
这会照顾为你引用字符串之类的事情。