Flask 将数据样式属性设置为“Jinja2”;无效语法";

Flask 将数据样式属性设置为“Jinja2”;无效语法";,flask,jinja2,Flask,Jinja2,我试图将引导多重选择器转换为Jinja2,但每当我向表单字段添加数据样式属性时,badges=SelectMultipleField('Categorii proiect',choices=[(1,'January'),(2,'Junuary')])我都会得到无效的语法 引导多重选择器 <select multiple class="form-control selectpicker" data-style="btn btn-link" id=&qu

我试图将引导多重选择器转换为Jinja2,但每当我向表单字段添加
数据样式
属性时,
badges=SelectMultipleField('Categorii proiect',choices=[(1,'January'),(2,'Junuary')])
我都会得到无效的语法

引导多重选择器

<select multiple class="form-control selectpicker" data-style="btn btn-link" id="exampleFormControlSelect2">
    <option>January</option>
    <option>February</option>
</select>
失败的Jinja2模板

{{ form.badges(class="form-control selectpicker", id="exampleFormControlSelect2") }}
{{ form.badges(class="form-control selectpicker", data-style="btn btn-link", id="exampleFormControlSelect2") }}

如有任何建议,将不胜感激

这是因为
数据样式
不是传递给函数的有效参数名称(有
-
破折号字符)

有效名称必须是字母数字,
\uuu
允许使用下划线字符,
-
@
。。不允许

要对抗
无效语法
错误,您需要通过
**kwrgs
对象传递该参数和任何额外参数(如果有)

{{ form.badges(class="form-control selectpicker", id="exampleFormControlSelect2", **{"data-style":"btn btn-link" }) }}

太棒了,我不知道。Thanks@newbie99是的,这很棘手,当我需要使用
WTForms
email
字段中传递一些额外的参数时,我学到了很多,没有自定义小部件/字段,也没有任何第三个包,请看一下我关于其他主题的答案,它可能对您有用。