Flask WTForms在我的项目目录中找不到WTForms

2024-10-16 20:46:58 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我在StackOverflow上的第一篇文章,大家好。

我正在做博客应用程序来学习Python和Flask,我想在Google App Engine上启动它。不幸的是,我在将WTForms导入应用程序时遇到了小问题。我现在用的是烧瓶0.9,WTForms 1.0.1和烧瓶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文件在根目录中查找wtforms?

以下是我的项目的来源-https://bitbucket.org/lucas_mendelowski/wblog/src


Tags: 文件项目py路径应用程序flask烧瓶users
3条回答

我想,我终于解决了这个问题(但我不确定这是不是正确的方法)。

这些文件中的更改导入:

1)烧瓶/初始温度

发件人:

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)烧瓶/容器/初始压力:

发件人:

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

致:

import fields
import validators 
import widgets

我还在github上发布了一个解决方案-https://github.com/rduplain/flask-wtf/issues/46#issuecomment-7376577

我想你的Virtualenv没有烧瓶WTF模块。 在virtualenv下的命令行中编写以下命令

pip install Flask-WTF

或者你可以这样做,但不建议这样做。

easy_install Flask-WTF

您的导入不正确。你可能在做:

from flask.ext.wtf import wtforms

没有这样的模块。 相反,你应该:

from flask.ext.wtf import Form, TextField

如果你想要HTML5小部件,只需使用以下内容。例如,可以将URLField导入为

from flask.ext.wtf.html5 import URLField

相关问题 更多 >