Импортирование 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"

Другие вопросы по тегам