问题来源:

在学习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版本原因导致。

from flask.ext.wtf import Form导入报错的更多相关文章

  1. ImportError: No module named flask.ext.wtf 解决方法

    install pip install flask.ext.wtf

  2. flask笔记(三)Flask 添加登陆验证装饰器报错,及解析

    Flask 添加登陆验证装饰器报错,及解析 写这个之前,是想到一个需求,这个是关于之前写Flask笔记(二)中的一个知识点,路由相关 需求为 : 有一些页面必须是登陆之后才能访问的,比如Shoppin ...

  3. flask+sqlite3+echarts2+ajax数据可视化报错:UnicodeDecodeError: 'utf8' codec can't decode byte解决方法

    flask+sqlite3+echarts2+ajax数据可视化报错: UnicodeDecodeError: 'utf8' codec can't decode byte 解决方法: 将 py文件和 ...

  4. 开启gtid导入报错

    导入报错 [root@redis02 data]# mysql -u root -p < ht.sqlEnter password: ERROR 1840 (HY000) at line 24: ...

  5. 数据导入报错:Got a packet bigger than‘max_allowed_packet’bytes的问题

    数据导入报错:Got a packet bigger than‘max_allowed_packet’bytes的问题 2个解决方法: 1.临时修改:mysql>set global max_a ...

  6. 数据导入报错 Got a packet bigger than‘max_allowed_packet’bytes

    数据导入报错:Got a packet bigger than‘max_allowed_packet’bytes的问题 2个解决方法: 1.临时修改:mysql>set global max_a ...

  7. typescript import 全局node_modules报错

    项目里面有一个node_modules的包太大,每次放到docker里面都要下载半天,大大减少了部署效率. 所以考虑将这个node包全局安装到docker的基础镜像中,那么代码里面直接引用全局包就可以 ...

  8. php Yaf_Loader::import引入文件报错的解决方法

    php Yaf_Loader::import引入文件报错的解决方法 改下配置文件就行<pre>yaf.use_spl_autoload=1</pre> 也可以PHP动态修改 毕 ...

  9. oracle 导入报错 ORA-00959: tablespace 'HB' does not exist

    导入oracle 时发现有几张表导入时一直报错: 报错信息:IMP-00003: ORACLE error 959 encountered   ORA-00959: tablespace 'HB' d ...

随机推荐

  1. Unity3d-Particle System系统的学习(一)

    最近看了下Unity3d的粒子系统的相关视频,并且动手操作了下,感觉自己的美工技能又增进了下(开个小玩笑),发现粒子系统所需要记忆的东西还是有点多的. 所以为了不让自己遗忘某些知识点,我准备发布成博客 ...

  2. JAVA 解压压缩包中指定文件或实现压缩文件的预览及下载单个或多个指定的文件

    业务逻辑中还要判读用户是否有此文件的防问权限 2017-04-20 新增文件与文件夹图标显示及过滤高亮显示功能: 2017-05-20 新增搜索向前及向后.及更新下载功能.更新文件路径显示: 测试地址 ...

  3. 用UIBezierPath数组对UIView进行镂空处理

    用UIBezierPath数组对UIView进行镂空处理 效果 源码 // // CutOutClearView.h // CutOutMaskView // // Created by YouXia ...

  4. byte[],bitmap,drawable之间的相互转换

    Byte[]转Bitmap BitmapFactory.decodeByteArray(data, 0, data.length); Bitmap转Byte[] ByteArrayOutputStre ...

  5. 根据ImageView的大小来压缩Bitmap,避免OOM

    Bitmap是引起OOM的罪魁祸首之一,当我们从网络上下载图片的时候无法知道网络图片的准确大小,所以为了节约内存,一般会在服务器上缓存一个缩略图,提升下载速度.除此之外,我们还可以在本地显示图片前将图 ...

  6. [Web 前端] React高级教程(es6)——(2)对于Refs最新变动的理解

    cp : https://blog.csdn.net/liwusen/article/details/53384561 1.什么是ReactJS中的refs 在React中组件并不是真实的 DOM 节 ...

  7. VS Code搭建.NetCore开发环境(一)

    一.使用命令创建并运行.Net Core程序 1.dotnet new  xxx:创建指定类型的项目console,mvc,webapi 等 2.dotnet restore :加载依赖项 dotne ...

  8. CountDownLatch使用场景及分析

    JDk1.5提供了一个非常有用的包,Concurrent包,这个包主要用来操作一些并发操作,提供一些并发类,可以方便在项目当中傻瓜式应用. JDK1.5以前,使用并发操作,都是通过Thread,Run ...

  9. Forward secrecy

    In cryptography, forward secrecy (FS), also known as perfect forward secrecy (PFS), is a property of ...

  10. HTTP tunnel

    HTTP Tunneling is a technique by which communications performed using various network protocols are ...