如何在 flask wtforms multiple select 中显示更多选项?

How to show more options in flask wtforms multiple select?

我使用的是 flask wtforms multiple select,它默认显示 4 个选项,因为我总共有 20 个选项,滚动不是很方便。有没有办法让 select 更高一次显示 4 个以上的选项?

我尝试使用 rows 属性,但可能我做错了,因为它不起作用(我对 HTML 了解不多)

我的部分代码与此相关:

class PositionForm(FlaskForm):
    position = SelectMultipleField(u'Choose position:')
...

@app.route('/custom', methods=['POST', 'GET'])
def custom():
    position_form.position.choices = []
    for position in positions_db:
        positions.append(position.name)
        position_form.position.choices.append((position.name, position.name))
...
    return render_template('table.html',... , position_form=position_form)

HTML代码:

<form action="/custom" method="post" style="margin: 2px 10px 2px 10px; font-weight: bold;">
    <div>{{ position_form.position.label }}<br>
    {{ position_form.position(rows=6, multiple=True) }}</div>
</form>

您可以 HTML 将您的选择排列成 3 列 x 7 行 table。当您在 HTML 中的 flask 中使用脚本时,您可以在 table 中使用您的选择填充时使用 i,j 作为迭代器。

更多关于tables

调用表单时只需要添加size属性即可,例如:

<div>{{ position_form.position.label }}<br>
{{ position_form.position(rows=6, multiple=True, size=15) }}</div>