1

我想使用 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)}}

但它只显示一个没有文本的空复选框

4

1 回答 1

2

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

如果您只想返回检查的值,WTForms 提供wtforms.fields.SelectMultipleField. 这将打印一个下拉框,用户可以在其中选择 0、1 或更多选项。

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

事实上 - 这个用例是 WTForms 文档的自定义小部件部分中的示例。

于 2013-01-29T22:18:16.890 回答