在Flask WTF的复选框选择表单中使用python列表

时间:2013-01-29 15:18:23

标签: python python-2.7 flask flask-wtforms

我想使用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复选框

1 个答案:

答案 0 :(得分:1)

我不确定你为什么要这样做。如果您使用的是复选框,我假设您要返回每个复选框的值。如果是这样,那么每个应该是您正在使用的WTForm实例的不同属性。

如果您只想返回选中的值,WTForms会提供wtforms.fields.SelectMultipleField。这将打印一个Dropbox,用户可以选择0,1个或更多选项。

如果必须有复选框,并且必须在表单定义中使用列表,那么似乎您唯一的选择是创建自定义字段。您可以找到有关如何执行此操作的文档here

实际上 - 这个用例是WTForms文档的Custom Widget部分中的示例。