validate_on_submit flaskform python flask packages flask-wtforms python-venv

python - flaskform - Importación de flask.ext.wtf



packages flask-wtforms (4)

Estoy usando venv, y desarrollo usando eclipse. Quiero agregar una página de contacto.

Yo si :

$ . bin/activate $ pip install flask-wtf

E importo algunos módulos en forms.py:

Usé esto:

from flask.ext.wtf import Form, TextField, TextAreaField, SubmitField

y luego esto:

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

Ninguno de ellos funcionó porque tuve este error:

from flask.ext.wtf import Form File "/usr/local/lib/python2.7/dist-packages/flask/exthook.py", line 87, in load_module raise ImportError(''No module named %s'' % fullname) ImportError: No module named flask.ext.wtf


Lo resolví usando el venv/bin/pip install flask-wtf lugar de pip install flask-wtf (incluso si activé venv antes del segundo comando . bin/activate )


Incluso después de cambiar diferentes estilos de importación y volver a instalar el matraz, flask-wtf, si aún no funciona: entonces, en config.py (" config.py puede ser de otro nombre, por ejemplo, app_config.py, etc.)

inserta la línea

sys.path.insert(0, os.path.join(os.path.dirname(__file__), ''venv/Lib/site-packages''))

establezca la ruta de acceso de su propia aplicación, en mi caso fue "venv/Lib/site-packages"


Tuve que usar

from flask_wtf import Form

en lugar de

from flask.ext.wtf import Form


¿Qué versión de flask-wtf instalaste? Desde la versión 9, usted hace todas las importaciones de campo desde WTForms no desde Flask-WTF.

Por lo tanto, sus importaciones serán (tenga en cuenta que según la declaración de importación de docs se modificó):

from flask_wtf import Form from wtforms import TextField, BooleanField