我想使用python列表作为复选框选择表单的选项。 因此,您可以在列表中选择所需的项目并提交表单以使用这些值。
我在表单中使用哪个表单字段?
我的html文件会是什么样的?
我认为.html页面看起来应该是这样的。
<form>
{% for item in list %}
<input type="checkbox" name="modList" value={{item}}>{{item}}<br>
{% endfor %}
</form>
但我无法弄清楚要在forms.py中创建表单字段的内容。
http://packages.python.org/Flask-WTF/
该页面上没有复选框表单。
我可以用
{{form.modList(formdata = list)}}
但它只显示一个没有文字的emtpy复选框
答案 0 :(得分:1)
我不确定你为什么要这样做。如果您使用的是复选框,我假设您要返回每个复选框的值。如果是这样,那么每个应该是您正在使用的WTForm实例的不同属性。
如果您只想返回选中的值,WTForms会提供wtforms.fields.SelectMultipleField
。这将打印一个Dropbox,用户可以选择0,1个或更多选项。
如果必须有复选框,并且必须在表单定义中使用列表,那么似乎您唯一的选择是创建自定义字段。您可以找到有关如何执行此操作的文档here。
实际上 - 这个用例是WTForms文档的Custom Widget部分中的示例。