无法让 Flask WTF 正确验证输入

Can't get Flask WTF to validate input properly

我正在尝试让 Flask 检查我的输入是否为整数以及我的 form.validate_on_submit(): 函数不工作 - 当我在字段中输入非整数的内容时页面就中断了并给我“TypeError:'NoneType' object cannot be interpreted as an integer'

我的main.py代码如下:

from wtforms import IntegerField
from wtforms.validators import InputRequired
from perfect_numbers import classify, listInRange

num = 1

app = Flask(__name__)
app.config['SECRET_KEY'] = 'DontTellAnyone'

class PerfectForm(Form):
    inputNumber = IntegerField('input a number', validators=[InputRequired(message='Please input an integer')])

@app.route('/', methods=['GET', 'POST'])
def index():
    form = PerfectForm()
    Classify = classify(form.inputNumber.data)
    if form.validate_on_submit():
        num = request.form['inputNumber']
        return render_template('index.html', form=form, num=num, classify=Classify)
    return render_template('index.html', num=1, form=form, classify=Classify)

if __name__ == '__main__':
    app.run(debug=True)

因为您 运行 这一行 Classify = classify(form.inputNumber.data) 在实际填写和验证表格之前。因此,在验证表单后将此行移动到某个地方。