Flask WTForms Integerfield 类型是文本而不是数字

Kob*_*ode 7 python flask wtforms

这是我尝试过的:

nrkomp = IntegerField('Number',validators=[NumberRange(min=1, max=5, message='Invalid length')])
Run Code Online (Sandbox Code Playgroud)

在开发人员工具中,此表单输入类型为文本而不是数字,我已阅读文档,但找不到解决此问题的方法。

sna*_*erb 9

您可以使用 wtforms html5字段来获取 html5 输入类型,并使用 html5小部件作为其关联的小部件。

from wtforms import Form
from wtforms.fields import html5 as h5fields
from wtforms.widgets import html5 as h5widgets


class F(Form):

    n1 = h5fields.IntegerField("Number1")
    n2 = h5fields.IntegerField(
        "Number2", widget=h5widgets.NumberInput(min=0, max=100, step=10)
    )


for f in F():
    print(f)
Run Code Online (Sandbox Code Playgroud)
<input id="n1" name="n1" step="1" type="number" value="">
<input id="n2" max="100" min="0" name="n2" step="10" type="number" value="">
Run Code Online (Sandbox Code Playgroud)