我正在使用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
答案 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"