python-3.x - 如何使用 wtforms 制作 BooleanField 列表

标签 python-3.x flask-sqlalchemy wtforms flask-wtforms

我的目标是从数据库中查询用户列表,然后在每个人的姓名旁边有一个 BooleanField。可以检查每个人是否将提交表单。我曾尝试使用 SelectMultipleField,但它似乎只提交一个值,而 FieldList 确实没有示例,所以我不确定它们是否可能是我正在寻找的。我是 WTForms 的新手,我不确定我正在尝试做的事情的最佳选择是什么。

例子:
enter image description here

最佳答案

我将假设您使用 Flask-SQLAlchemy 来处理您的数据模型,因为您没有提及您如何访问您的数据库。

定义如下的表单:

class ExampleForm(Form):
    user = QuerySelectMultipleField(
        'User',
        query_factory=lambda: User.query.all(),
        widget=widgets.ListWidget(prefix_label=False),
        option_widget=widgets.CheckboxInput()
    )
    submit = SubmitField('Submit')

将为每个用户生成一个复选框列表,然后可以根据需要进行处理。呈现表单的模板可以是:
<form action="" method="POST">
    {{ form.csrf_token }}
    {{ form.user }}
    {{ form.submit }}
</form>

并且路线代码将沿着以下路线:
@app.route('/', methods=['post','get'])
def home():
    form = ExampleForm()
    if form.validate_on_submit():
        return "{}".format(form.user.data)
    return render_template('example.html', form=form)

关于python-3.x - 如何使用 wtforms 制作 BooleanField 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48845098/

相关文章:

python - 如何相互验证 wtforms 字段?

python - 从模块访问全局变量

python - 为什么使用 WTForms 而不是仅使用 HTML 发布

python - 如果满足 'if' 条件,是否有办法增加迭代器

python - 创建一对一关系 Flask-SQLAlchemy

python-3.x - Cloud 9 CS50 上的 pylint 错误消息

python - 使用 SQLAlchemy ORM (0.8) 搜索 HSTORE 列的正确语法是什么?

python - 使用 FieldList 在 WTForm 的选择字段中动态分配选项

python - 如何将 2 列常量添加到指定位置的列表中?

python 从文件中删除特定行