无法让 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)
在实际填写和验证表格之前。因此,在验证表单后将此行移动到某个地方。
我正在尝试让 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)
在实际填写和验证表格之前。因此,在验证表单后将此行移动到某个地方。