当我尝试使用带有文本输入字段的工具提示时,我遇到了Jinja2的问题:“函数调用表达式的语法无效”。
这是我的代码:
{{ Wformulario.WCPO_Nro_Part(class="form-control input-sm inteiro tooltips", data-container="body", data-placement="bottom", data-original-title="Informe o Numero de Participantes: 0 a 99", tabindex="3") }}
这完美无缺(我只是删除数据容器,数据放置......):
{{ Wformulario.WCPO_Nro_Part(class="form-control input-sm inteiro tooltips", tabindex="3") }}
这完美地运作:
<input class="form-control input-sm inteiro tooltips" data-container="body" data-placement="bottom" data-original-title="Informe o Numero de Participantes: 0 a 99"> </input>
我不知道我做错了什么。
答案 0 :(得分:0)
使用关键字参数调用函数时,只能对关键字使用有效的标识符;这些标识符可以不使用-
,因为这是减法运算符。 data-container
不是有效的标识符。
我假设你在这里使用WTForms来产生你的输入。在这种情况下,您可以用data-
替换data_
,WTForms将使用短划线而不是下划线正确渲染这些属性:
{{ Wformulario.WCPO_Nro_Part(class="form-control input-sm inteiro tooltips",
data_container="body", data_placement="bottom",
data_original_title="Informe o Numero de Participantes: 0 a 99",
tabindex="3") }}
请注意,只会替换 first _
,因此会创建:
<input class="form-control input-sm inteiro tooltips"
data-container="body" data-placement="bottom"
data-original_title="Informe o Numero de Participantes: 0 a 99"> </input>
请注意_
中的original_title
。
要解决这个问题,你必须在字典中传递信息,而是使用**
(双重调用)调用:
{{ Wformulario.WCPO_Nro_Part(class="form-control input-sm inteiro tooltips",
data_container="body", data_placement="bottom",
tabindex="3",
**{'data-original-title': "Informe o Numero de Participantes: 0 a 99"}) }}
现在data-original-title
参数不作为关键字参数传递,而是作为字典的一部分传递。