問題來源:
在學習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版本原因導致。