【问题标题】:Can't get Flask WTF to validate input properly无法让 Flask WTF 正确验证输入
【发布时间】:2018-04-15 15:41:29
【问题描述】:

我正在尝试让 Flask 检查我的输入是否为整数并且我的 form.validate_on_submit(): 函数不起作用 - 当我在字段中键入不是整数的内容并给我' TypeError: 'NoneType' 对象不能被解释为整数'

我的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)

【问题讨论】:

    标签: python validation flask flask-wtforms


    【解决方案1】:

    因为您在实际填写和验证表单之前运行此行Classify = classify(form.inputNumber.data)。因此,在验证表单后将此行移至某处。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多