导入flask.ext.wtf

时间:2013-12-13 15:10:24

标签: python flask packages flask-wtforms python-venv

我正在使用venv,我使用eclipse开发。 我想添加一个联系页面。

我做了:

$ . bin/activate
$ pip install flask-wtf

我在forms.py中导入了一些模块:

我用过这个:

from flask.ext.wtf import Form, TextField, TextAreaField, SubmitField

然后这个:

from flask.ext.wtf import Form
from wtforms.fields import TextField, BooleanField

他们中没有人工作,因为我有这个错误:

from flask.ext.wtf import Form
  File "/usr/local/lib/python2.7/dist-packages/flask/exthook.py", line 87, in load_module
    raise ImportError('No module named %s' % fullname)
ImportError: No module named flask.ext.wtf

4 个答案:

答案 0 :(得分:15)

您安装了什么版本的flask-wtf? 从版本9开始,您可以从WTForms执行所有字段导入,而不是从Flask-WTF。

所以你的导入将是(请注意,根据docs导入语句已更改):

from flask_wtf import Form
from wtforms import TextField, BooleanField

答案 1 :(得分:5)

我使用venv/bin/pip install flask-wtf代替pip install flask-wtf解决了这个问题(即使我在第二个命令. bin/activate之前激活了venv)

答案 2 :(得分:5)

我必须使用

from flask_wtf import Form

而不是

from flask.ext.wtf import Form

答案 3 :(得分:0)

即使更改了不同的导入样式并重新安装flask-flask-wtf,如果它仍然不起作用:那么在config.py中,“config.py可能有不同的名称,例如app_config.py等)

插入行

sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'venv/Lib/site-packages'))

设置自己应用的lib路径,在我的情况下是"venv/Lib/site-packages"