Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 表格可以';在我的项目目录中找不到WTForms_Python_Google App Engine_Flask_Wtforms - Fatal编程技术网

Python 表格可以';在我的项目目录中找不到WTForms

Python 表格可以';在我的项目目录中找不到WTForms,python,google-app-engine,flask,wtforms,Python,Google App Engine,Flask,Wtforms,这是我在StackOverflow上的第一篇帖子,大家好 我正在做博客应用程序来学习Python和Flask,我想在Google App Engine上启动它。不幸的是,我在将WTForms导入应用程序时遇到了一个小问题。我目前正在使用Flask 0.9、WTForms 1.0.1和Flask WTForms 0.8。我已经将flaskext_wtf文件夹添加到我的项目的根路径中,但我从html5.py文件中得到了错误 File "/Users/lucas/Workspace/blog/flas

这是我在StackOverflow上的第一篇帖子,大家好

我正在做博客应用程序来学习Python和Flask,我想在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
文件“/Users/lucas/Workspace/blog/flask_wtf/html5.py”,第1行,在
从wtforms导入文本字段
文件“/Users/lucas/Workspace/blog/flask/exthook.py”,第86行,在load_模块中
引发导入错误('没有名为%s“%fullname”的模块)
ImportError:没有名为flask.ext.wtf.wtforms的模块
看起来它试图在扩展路径而不是我的项目路径中查找wtforms。如何通知html5.py文件在根目录中查找wtforms


以下是我的项目的来源-

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

from flask.ext.wtf import wtforms
没有这样的模块。 相反,你应该:

from flask.ext.wtf import Form, TextField
如果您想要HTML5小部件,只需使用以下内容。例如,您可以将URLField导入为

from flask.ext.wtf.html5 import URLField

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

更改这些文件中的导入:

1) 烧瓶/初始尺寸

发件人:

致:

2) 烧瓶/重装/初始尺寸:

发件人:

致:


我还在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()])

请查看。

我认为您的Virtualenv没有Flask WTF模块。 在virtualenv下的命令行中编写以下命令

pip install Flask-WTF
或者您可以这样做,但不建议这样做

easy_install Flask-WTF

谢谢您的回复,但请在回答问题之前检查代码。在我的申请文件中,我得到了:from flask.ext.wtf import Form(我认为这是正确的)。但是在Flask WTForms中的html5.py文件中有:from WTForms import TextField,它被映射到:Flask.ext.wtf.WTForms。我认为您应该只使用Flask wtf,而不是单独使用WTForms。嗨,Lucas,您真的应该考虑在Python项目中使用VirtualEnv。查看这本免费的在线书籍,获取关于优秀烧瓶项目结构的完整指南:
import fields
import validators 
import widgets
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()])
pip install Flask-WTF
easy_install Flask-WTF