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

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

flaskscriptspip 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:Developmentgrading>flaskScriptspython.exe restserver.py Traceback (most recent call last):
File "restserver.py", line 1, in <module> from app import app
File "D:Developmentgradingapp__init__.py", line 12, in <module> from forms import LoginForm
File "D:Developmentgradingappforms.py", line 1, in <module> from flask.ext.wtf import Form, TextField, BooleanField
File "D:Developmentgradingflasklibsite-packagesflaskexthook.py", line 87, in load_module
raise ImportError('No module named %s' % fullname) ImportError: No module named flask.ext.wtf.TextField

форма найдена, но не TextField и BooleanField. Что? здесь проблема?

обновление Я просто просмотрел некоторые из кода колбы-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