Импортирование flask.ext.wtf
Я использую 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 ответа
Я решил это с помощью venv/bin/pip install flask-wtf
вместо pip install flask-wtf
(даже если я активировал venv перед второй командой . bin/activate
)
Какую версию flask-wtf вы установили? Начиная с версии 9, вы импортируете все поля из WTForms, а не из Flask-WTF.
Таким образом, ваш импорт будет (обратите внимание, что в соответствии с docs
оператор импорта был изменен):
from flask_wtf import Form
from wtforms import TextField, BooleanField
Я должен был использовать
from flask_wtf import Form
вместо
from flask.ext.wtf import Form
Даже после изменения различных стилей импорта и переустановки колбы, колба-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"