如何在 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>
我使用的是 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>