2013-08-18 5 views
11

저는 virtualenv를 사용하여 새 프로젝트를 설정하고 있습니다.Flask-WTF TextField 및 BooleanField를 가져올 수 없습니다.

flask\scripts\pip install Flask-WTF 

I 글로벌 파이썬 폴더에 설치된 다른 패키지가 없다 : 나는 스크립트 폴더에서 아래와 같이 핍 VIRTUALENV 사용하여 많은 것들을 설치했습니다.

# 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를 찾았지만되지 않습니다. 여기에 어떤 문제가 있습니까?

업데이트 난 그냥 플라스크-WTF 코드의 일부를 보았다이 발견 : 이전 버전 또는 무언가에서

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

내가 사용하고 예?

+0

이 귀하의 질문에 대답하지 않지만, 일단 당신은에 가상 환경에서는 가상화 된 파이썬에 대한 경로를 제공 할 필요가 없습니다. 'activate.bat' 스크립트의 일부는 쉘 변수가 python.exe 및 pip.exe와 같은 가상화 버전을 가리 키도록 설정합니다. 또한 가상 환경을 소스 코드 디렉토리에 두어서는 안됩니다. 가장 좋은 방법은 모든 가상 환경을 별도의 디렉토리에두고 활성화 스크립트를 사용하여 쉘을 조정하는 것입니다. –

+1

나는 virtualenv 폴더에 소스를 넣지 않을 것입니다. 'app' 폴더 안에 있습니다. 나는 실제로 pycharm을 설치하기 위해 스크립트를 사용하지 않기 때문에 프로젝트를 변경하는 동안 아무 것도 활성화 할 필요가 없습니다. 자동으로 모든 것을 처리합니다. 어쨌든 고마워! – Asken

+1

내가 할 수만 있다면, PyCharm을 사용하기 위해 +1을 주겠다. 나는 그것을 좋아한다! –

답변

29

버전 0.9.0부터 Flask-WTF는 wtforms에서 가져온 항목을 가져 오지 않으므로 wtforms의 필드를 가져와야합니다.

Source

당신은 ( docs 수입 성명에 따라 변경 한 것주의) wtforms에서 가져와야 :

from flask_wtf import Form 

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

감사합니다. 나는 이것에 약간 새로운데 그것은 튜토리얼을 바꿀 필요가있을 것 같은데 ... – Asken