我正在使用wtforms作为Python + Flask项目的一部分。有一些情况下,我想要一个表单的多个字段出现在网页上的同一行。使用SelectField,这可以按预期工作。然而,当我使用IntegerField时,它似乎在显示字段后自动创建一个新行,并且我在一行上有多个。
的形式:
class PremiumMandatory(FlaskForm):
match_dol = IntegerField('Dollar')
match_per = IntegerField('Percent')
. html
{{form.match_dol.label}}
${{form.match_dol(size=3)}}
 
{{form.match_per(size=3)}}%
{% for error in form.match_per.errors %}
使用上述方法,这两个字段也会出现在网页的不同行上。我怎么让他们保持在同一条线上?
这完全是HTML/CSS的问题。有很多方法可以将表单的多个字段放在同一行上,例如,你可以使用Bootstrap的网格系统,它非常易于使用。
另一个简单的方法是:
<form>
<div style="display: table;">
<div style="display: table-row;">
<div style="display: table-cell;">
{{ form.match_dol.label }}
{{ form.match_dol(size=3) }}
</div>
<div style="display: table-cell;">
{{ form.match_per.label }}
{{ form.match_per(size=3) }}
</div>
</div>
<div style="display: table-row;">
...
</div>
</div>
</form>