2013-08-18 12 views
11

öğesini içe aktaramıyorum Yeni bir proje oluşturmak için virtualenv kullanıyorum.Flask-WTF TextField ve BooleanField

flask\scripts\pip install Flask-WTF 

Küresel piton klasöründe yüklü başka paketler var: Senaryonun klasöründen aşağıdaki gibi pip Virtualenv kullanarak bir çok şey yüklü.

# 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) 

ve diğer paketleri de sadece sanal ortamda yüklü sqlalchemy gibi bulunur: My kod buna benzemez.

alıyorum hatadır:

(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 

Formu TextField ve BooleanField buldum ama değil. Burada sorun nedir?

Güncelleme Sadece Flask-WTF kod bazı baktım ve buldum: Eski bir sürüme falan

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

ben kullanıyor muyum örnekler?

+0

Bu sorunuza cevap vermez, ama bir kez sen içindedir sanal ortam, sanallaştırılmış pythonun yolunu sağlamanız gerekmez; activate.bat komut dosyasının bir kısmı, shell değişkenlerinizi python.exe ve pip.exe gibi şeylerin sanallaştırılmış sürümlerini işaret edecek şekilde ayarlamaktır. Ayrıca, sanal ortamı kaynak kod dizininin içine koymamalısınız (yaptığınız gibi). En iyi uygulama, tüm sanal ortamları kendi ayrı dizinlerine koymak ve kabuğunuzu ayarlamak için etkinleştirilmiş komut dosyalarını kullanmaktır. –

+1

Ben virtualenv klasörüne kaynak koymiyorum. Bu 'app' klasöründe var. Ben aslında yüklemek için scripts kullanmıyorum ama pycharm çalışan bu yüzden proje değiştirirken bir şey aktive etmek zorunda değilim. Bütün bu otomajik olarak benim için hallediyor. Yine de teşekkürler! – Asken

+1

Yapabilirsem, PyCharm'ı kullanmak için sana +1 veririm. Onu seviyorum! –

cevap

29

Flask-WTF, 0.9.0 sürümünden, wtformlardan hiçbir şey almaz, alanları wtformlardan içe aktarmanız gerekir.

Source

Sen ( docs ithalat açıklamaya göre değiştirildi unutmayın) wtforms içe gerekir:

from flask_wtf import Form 

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

Teşekkürler! Bu konuda biraz yeniyim ve öğreticiyi değiştirmem gerekiyormuş gibi görünüyor. – Asken