Python 3.x 第二个wtform SelectField阻止代码运行
在我的网站上,我正在设计我正在使用flask和wtforms,它似乎工作得很好。我有以下代码Python 3.x 第二个wtform SelectField阻止代码运行,python-3.x,flask,flask-wtforms,Python 3.x,Flask,Flask Wtforms,在我的网站上,我正在设计我正在使用flask和wtforms,它似乎工作得很好。我有以下代码 class LoadDataForm(FlaskForm): selectData = SelectField('Label 1:',choices=toy_data_lst) #selectPredict = SelectField('Label 2:',choices=[('a','aaa')]) submit = SubmitField('Select') 但是,当我删除第二个SelectFie
class LoadDataForm(FlaskForm):
selectData = SelectField('Label 1:',choices=toy_data_lst)
#selectPredict = SelectField('Label 2:',choices=[('a','aaa')])
submit = SubmitField('Select')
但是,当我删除第二个SelectField创建的注释时,代码不会运行。它不会停止或破坏代码,甚至不会给出错误。事实上,我得到的唯一响应是来自控制台
127.0.0.1 - - [02/Nov/2020 09:56:35] "←[37mGET / HTTP/1.1←[0m" 200 -
127.0.0.1 - - [02/Nov/2020 09:56:39] "←[37mPOST / HTTP/1.1←[0m" 200 -
我肯定这只是某种语法错误,或者我忘记了一些非常愚蠢的事情,但这让我发疯
整个烧瓶文件,如果有帮助的话
from flask import Flask,render_template,session, redirect, url_for
from flask_wtf import FlaskForm
from wtforms import SubmitField, SelectField
import toy_data
app = Flask(__name__)
app.config['SECRET_KEY'] = 'mysecretkey'
toy_data_lst = toy_data.get_choice()
class LoadDataForm(FlaskForm):
selectData = SelectField('Label 1:',choices=toy_data_lst)
selectPredict = SelectField('Label 2:',choices=[('a','aaa')])
submit = SubmitField('Select')
@app.route('/', methods=['GET','POST'])
def index():
form = LoadDataForm()
if form.validate_on_submit():
dataset = toy_data.get_dataset(int(form.selectData.data))
#form.selectPredict.choices = [('a','aaa')]
return render_template('loadedData.html', form=form, dataset=dataset)
return render_template('noData.html', form=form)
if __name__ == '__main__':
app.run(debug=True)
在
POST
请求之后返回哪个页面?如果它是noData.html
,那么您知道表单没有通过validate\u on\u submit()
。它没有加载任何内容,所以是的,它没有通过验证,但我不明白为什么。不管怎样,我最终制作了第二个类,但我不明白为什么选择文件导致它失败