Python 烧瓶WTF表格不';没有属性';在提交时验证';

Python 烧瓶WTF表格不';没有属性';在提交时验证';,python,flask,wtforms,flask-wtforms,Python,Flask,Wtforms,Flask Wtforms,我使用Flask WTF在提交表单时验证表单。我正在使用表单。请在提交()时验证,但出现以下错误: AttributeError: 'PickASong' object has no attribute 'validate_on_submit' 为什么会出现此错误,如何修复 import flask from flask import Flask from flask import render_template from flask import Flask from flask impor

我使用Flask WTF在提交表单时验证表单。我正在使用
表单。请在提交()时验证,但出现以下错误:

AttributeError: 'PickASong' object has no attribute 'validate_on_submit'
为什么会出现此错误,如何修复

import flask
from flask import Flask
from flask import render_template
from flask import Flask
from flask import request
from flask import render_template
from flask import redirect
from flask.ext.wtf import Form
from wtforms import *
from wtforms import StringField, BooleanField
from wtforms.validators import DataRequired
from flask.ext.wtf import Form
from wtforms import Form, TextField, BooleanField, PasswordField, TextAreaField, validators

class PickASong(Form):
    song = TextField(u'Song title', validators=[DataRequired()])

class PickAnumber(Form):
    songNumber = IntegerField(u'Please select song number', validators=[DataRequired()])

app = Flask(__name__)

@app.route("/",methods=["POST","GET"])
def hello():
    form = PickASong(csrf_enabled=False)

    if form.validate_on_submit():
        user = form.song.data
        print user
        d=str(user)
        print d
        # search(d)
        cmd = "python Search.py --q \"" + d +'"'
        os.system(cmd)
        return redirect('/2')

    return render_template('searchtwo.html', form=form)

您从flask.ext.wtf导入表单
导入了
,然后从wtforms导入*
导入了
,其中包括基本wtforms
表单
。因此名称
Form
指的是绑定到它的最后一个对象,
wtforms.Form
。这就是您避免导入*
的原因。一个快速解决方法是将
从Flaskwtf导入表单移动到
下方的
从wtforms导入*
。正确的解决方法是只导入您需要的内容,而不是导入所有内容。如果您需要两个表单,请将一个导入别名为,这样名称就不会冲突:
来自flask\u wtf导入表单为FlaskForm

您已经在顶部的大导入块下冗余地写入了以下导入

from flask.ext.wtf import Form
from wtforms import Form, TextField, BooleanField, PasswordField, TextAreaField, validators
只需不从
wtforms
导入
Form
,或颠倒两行即可实现即时修复

from flask.ext.wtf import Form
from wtforms import TextField, BooleanField, PasswordField, TextAreaField, validators