2012-07-29 2 views
5

이것은 Hello everyone의 StackOverflow에 대한 나의 첫 번째 게시물입니다.Flask-WTForms가 내 프로젝트 디렉토리에서 WTForms을 찾을 수 없습니다.

파이썬과 플라스크를 배우기 위해 블로그 애플리케이션을 만들고 있는데, Google App Engine에서 실행하고 싶습니다. 불행히도 나는 응용 프로그램에 WTForms 가져 오기 작은 문제가 있습니다. 현재 Flask 0.9, WTForms 1.0.1 및 Flask-WTForms 0.8를 사용하고 있습니다. 내 프로젝트의 루트 경로에 flaskext_wtf 폴더를 추가했지만 html5.py 파일에서 오류가 발생했습니다.

File "/Users/lucas/Workspace/blog/flask_wtf/html5.py", line 1, in <module> 
from wtforms import TextField 
File "/Users/lucas/Workspace/blog/flask/exthook.py", line 86, in load_module 
raise ImportError('No module named %s' % fullname) 
ImportError: No module named flask.ext.wtf.wtforms 

내 프로젝트 경로 대신 확장 경로 내에서 wtforms를 찾으려고하는 것 같습니다. html5.py 파일에 루트의 wtform을 찾는 방법을 알려주려면 어떻게해야합니까? 당신은 잘못된 수입이 https://bitbucket.org/lucas_mendelowski/wblog/src

+0

안녕 루카스, 당신은 정말로 VirtualEnv를 사용하여 파이썬 프로젝트를 조사해야합니다. 좋은 플라스크 프로젝트 구조에 대한 완벽한 안내서를 보려면이 무료 온라인 도서를 확인하십시오 : [http://exploreflask.com] (http://exploreflask.com) – nighthawk454

답변

0

-

여기 내 프로젝트의 소스입니다. 당신은 아마하고 있습니다 :

from flask.ext.wtf import wtforms 

그런 모듈이 없습니다. 대신 당신은 무엇을해야 : 당신은 HTML5 위젯을 원하는 경우에

from flask.ext.wtf import Form, TextField 

, 바로 다음을 사용합니다. 예를 들어, 나는 마침내이 문제를 관리,

from flask.ext.wtf.html5 import URLField 
+0

답변 해 주셔서 감사합니다. 그러나 질문에 답하기 전에 코드를 확인하십시오. . 내 응용 프로그램 파일에있어 : ​​flask.ext.wtf 가져 오기 양식 (올바른 것, 내 생각). 그러나 Flask-WTForms의 html5.py 파일에는 다음과 같은 것이 있습니다 : wtforms import from TextField : flask.ext.wtf.wtforms. – Lucas

+0

Flask-WTF 만 사용하고 독립 실행 형 WTForms는 사용하지 않아야한다고 생각합니다. – codegeek

1

내가 생각하는 URLField 가져올 수 있습니다 (하지만 올바른 방법입니다 있는지 확실하지 않습니다). 이러한 파일의

변경 수입 :

1) flaskwtf/init_.py

에서 :

from flask.ext.wtf import html5 
from flask.ext.wtf.form import Form 
from flask.ext.wtf import recaptcha 

from flask.ext.wtf.recaptcha.fields import RecaptchaField 
from flask.ext.wtf.recaptcha.widgets import RecaptchaWidget 
from flask.ext.wtf.recaptcha.validators import Recaptcha 

사람 :

import html5 
from form import Form 
import recaptcha 

from recaptcha.fields import RecaptchaField 
from recaptcha.widgets import RecaptchaWidget 
from recaptcha.validators import Recaptcha 

2) flaskwtf/reCAPTCHA를/init_ .py :

가에서 :

from flask.ext.wtf.recaptcha import fields 
from flask.ext.wtf.recaptcha import validators 
from flask.ext.wtf.recaptcha import widgets 

사람 : - https://github.com/rduplain/flask-wtf/issues/46#issuecomment-7376577

0

가져 오기가 잘못

import fields 
import validators 
import widgets 

나는 또한 GitHub의에 솔루션을 게시했습니다. 또한, WTForm을 자동으로 설치하는 Flask-WTF를 설치하십시오.

는 지금까지 필드를 가져 오는 간다, 워드 프로세서에 따라 ..

From version 0.9.0, Flask-WTF will not import anything from wtforms 
you need to import fields from wtforms. 


    from flask_wtf import Form 
    from wtforms import TextField 
    from wtforms.validators import DataRequired 

    class MyForm(Form): 
     name = TextField('name', validators=[DataRequired()]) 

Flask-WTF quick start guide을 검토하십시오.

2

Virtualenv에는 Flask-WTF 모듈이 없다고 생각합니다. VIRTUALENV

pip install Flask-WTF 

아래 명령 줄에서 다음 명령을 쓰기 또는이 작업을 수행 할 수 있지만하지 않는 것이 좋습니다.

easy_install Flask-WTF