问题来源:
在学习Flask网上教程(PS:中文版教程链接,英文版教程其中代码是对的,运行没错误,我为了看的快一些,所以就直接看的中文版>~<,英文版教程链接)时,使用如下代码:
from flask.ext.wtf import Form from wtforms import StringField, BooleanField from wtforms.validators import DataRequired class LoginForm(Form): openid = StringField('openid', validators=[DataRequired()]) remember_me = BooleanField('remember_me', default=False)
结果上述标记红色部分报错,即无法引用Form类。
于是查看参照了一下flask-WTF 的详尽介绍的快速入门示例,其中使用Flask-WTF代码如下:
from flask_wtf import Form from wtforms import TextField from wtforms.validators import DataRequired class MyForm(Form): name = TextField('name', validators=[DataRequired()])
注解
从 0.9.0 版本开始,Flask-WTF 不再从 WTforms 中导入任何东西,你需要从 WTForms 导入字段。
解决办法:即把from flask.ext.wtf import Form改换成from flask_wtf import Form
具体原因:我觉得应该是Flask-wtf版本原因导致。