此代码在尝试调用表单类时引发错误。
from flask import Flask,render_template, request
from flask_wtf import Form
from wtforms import StringField,SubmitField
app=Flask(__name__)
class infoform(Form):
breed = StringField('what breed are you')
submit=SubmitField('submit')
@app.route('/',methods=['GET','POST'])
def index():
breed =False
form =infoform(request.form)
if form.validate_on_submit():
breed= form.breed.data
form.breed.data=''
return render_template('index.html',form=form,breed=breed)
if __name__=='__main__':
app.run(debug=True)
我希望输出一个带有文本字段并带有标签“您是什么品种”的表格。但是我遇到一个指向form = infoform()
的错误,但我无法理解。
答案 0 :(得分:1)
我不知道您到底有什么错误,但是一般来说,这里是您应该如何使用flask-wtf
来使用表单,假设您使用的是最新版本(0.14),就像我一样:< / p>
from flask import Flask,render_template, request
from flask_wtf import FlaskForm
from wtforms import StringField,SubmitField
app=Flask(__name__)
class Infoform(FlaskForm):
breed = StringField('what breed are you')
submit=SubmitField('submit')
@app.route('/',methods=['GET','POST'])
def index():
breed = False
form = Infoform()
if form.validate_on_submit():
breed= form.breed.data
form.breed.data=''
return render_template('index.html',form=form,breed=breed)
if __name__=='__main__':
app.run(debug=True)
请注意,在第二行中,我导入FlaskForm
,而不是 Form
。在InfoForm
类级别,我继承了FlaskForm
类。
最后,与Python增强建议8(PEP8)达成一致,该建议说类的名称必须以大写字母开头,因此我修改了InfoForm
类……因为可读性计数