2014-02-12 3 views
2

Я не вижу, где я ошибаюсь. У меня установлены последние формы WTF, но я все еще получаю эту ошибку.ImportError при импорте форм фляжки WTF

Метод:

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

Результат:

Traceback (most recent call last): 

    File "/bin/user_wsgi_wrapper.py", line 67, in __call__ 
self.error_log_file.logger.exception("Error running WSGI application") 
    File "/usr/lib/python3.3/logging/__init__.py", line 1269, in exception 
self.error(msg, *args, **kwargs) 
    File "/usr/lib/python3.3/logging/__init__.py", line 1262, in error 
self._log(ERROR, msg, args, **kwargs) 
    File "/usr/lib/python3.3/logging/__init__.py", line 1368, in _log 
self.handle(record) 
    File "/usr/lib/python3.3/logging/__init__.py", line 1377, in handle 
if (not self.disabled) and self.filter(record): 
File "/usr/lib/python3.3/logflask_wtf 
wtformsging/__init__.py", line 687, in filter 
for f in self.filters: 
File "/bin/user_wsgi_wrapper.py", line 59, in __call__ 
app_iterator = self.app(environ, start_response) 
File "/bin/user_wsgi_wrapper.py", line 73, in import_error_application 
raise e 
File "/bin/user_wsgi_wrapper.py", line 82, in <module> 
application = load_wsgi_application() 
File "/bin/user_wsgi_wrapper.py", line 78, in load_wsgi_application 
return __import__(os.environ['WSGI_MODULE'], globals(), locals(),  ['application']).application 
File "/var/www/rcham_pythonanywhere_com_wsgi.py", line 16, in <module> 
from addressbook.app import app as application 
File "/home/rcham/mysite/addressbook/app.py", line 4, in <module> 
from addressbook.forms import LoginForm, ContactsForm 
File "/home/rcham/mysite/addressbook/forms.py", line 1, in <module> 
from flask.ext.wtf import Form 
File "/usr/local/lib/python3.3/dist-packages/flask/exthook.py", line 87, in load_module 
raise ImportError('No module named %s' % fullname) 
ImportError: No module named flask.ext.wtf 

Ls /home/rcham/.local/lib/python2.7/site-packages/flask

__init__.py blueprints.py debughelpers.py globals.pyc logging.pyc signals.pyc views.py 
__init__.pyc blueprints.pyc debughelpers.pyc helpers.py module.py templating.py views.pyc 
_compat.py config.py ext helpers.pyc module.pyc templating.pyc wrappers.py 
_compat.pyc config.pyc exthook.py json.py sessions.py testing.py wrappers.pyc 
app.py ctx.py exthook.pyc json.pyc sessions.pyc testing.pyc 
app.pyc ctx.pyc globals.py logging.py signals.py testsuite 

Ls /usr/local/lib/python3.3/dist-packages/ | Grep WTF

flask_wtf wtforms

+1

Как вы установили колбу-WTF? Ваш код в порядке, вероятно, это проблема среды. – iurisilvio

+0

Не могли бы вы отправить 'ls/usr/local/lib/python3.3/dist-packages/flask' ​​и' ls /usr/local/lib/python3.3/dist-packages/ | grep wtf'? – brunsgaard

+0

ls /home/rcham/.local/lib/python2.7/site-packages/flask __init__.py blueprints.py debughelpers.py globals.pyc logging.pyc signals.pyc views.py __init __. Pyc blueprints.pyc debughelpers.pyc helpers.py module.py templating.py views.pyc _compat.py config.py ext helpers.pyc module.pyc templating.pyc wrappers.py _compat.pyc config.pyc exthook.py json.py сеансы. py testing.py wrappers.pyc app.py ctx.py exthook.pyc json.pyc sessions.pyc testing.pyc app.pyc ctx.pyc globals.py logging.py signals.py testsuite – Lorbat

ответ

3

Согласно official quickstart, flask.ext.wtf должен быть flask_wtf.

Таким образом, вы должны импортировать его как:

from flask_wtf import FlaskForm 

По крайней мере, у меня есть, я установил с пип.

+0

пробовал это также, и это не работает – Lorbat

+0

Если вы и пойте скрипт для запуска вашего кода (например, run.py), проверьте, что вы используете правильную версию python с: «какой python» или «какой python3». Убедитесь, что вы запустили это в своем виртуальном пространстве, если используете его. – Inyoka

2

Похоже, вы установили только wtforms, не Flask-WTF расширение.

Чтобы установить Flask-WTF: pip install flask-wtf

+0

Я установил Flask-WTF – Lorbat

4

Пожалуйста, используйте

from flask_wtf import Form 

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

Это был изменен с v0.8

Смежные вопросы