Я не могу импортировать Flask-WTF TextField и BooleanField

Я использую virtualenv для создания нового проекта. Я установил много вещей, используя virtualenv pip из папки script, как показано ниже:

flask\scripts\pip install Flask-WTF

У меня нет других пакетов, установленных в глобальной папке python. Мой код выглядит следующим образом:

# Importing TextField and BooleanField is not working...
from flask.ext.wtf import Form, TextField, BooleanField
from flask.ext.wtf import Required


class LoginForm(Form):
    openid = TextField('openid', validators=[Required()])
    remember_me = BooleanField('remember_me', default=False)

и другие пакеты найдены как sqlalchemy, также установленные только в виртуальной среде.

Ошибка, которую я получаю:

(flask) D:\Development\grading>flask\Scripts\python.exe restserver.py Traceback (most recent call last):
File "restserver.py", line 1, in <module> from app import app
File "D:\Development\grading\app\__init__.py", line 12, in <module> from forms import LoginForm
File "D:\Development\grading\app\forms.py", line 1, in <module> from flask.ext.wtf import Form, TextField, BooleanField
File "D:\Development\grading\flask\lib\site-packages\flask\exthook.py", line 87, in load_module
raise ImportError('No module named %s' % fullname) ImportError: No module named flask.ext.wtf.TextField

Форма найдена, но не TextField и BooleanField. В чем проблема?

Обновление Я просто просмотрел некоторые из кода Flask-WTF и нашел это:

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

Я использую примеры из более старой версии или чего-то еще?

Ответ 1

Из версии 0.9.0 Flask-WTF ничего не импортирует из wtforms, вам нужно импортировать поля из wtforms.

Источник

Вам нужно импортировать их из wtforms (обратите внимание, что в соответствии с docs был изменен оператор импорта):

from flask_wtf import Form

from wtforms import TextField, BooleanField
from wtforms.validators import Required