2016-07-07 316 views
0

我面临的导入错误而完全导入LoginForm的错误:导入错误:无法导入名称LoginForm的

import form 

此导入进口。但是,当我做

from form import LoginForm 

Traceback (most recent call last): 
File "<pyshell#2>", line 1, in <module> 
from form import LoginForm 
ImportError: cannot import name LoginForm 

而且当我只导入表单,并尝试使用LoginForm的它给了我错误

NameError: global name 'LoginForm' is not defined

请让我知道这个问题

在此先感谢 阿布舍克

+0

你看着办吧? – gtalarico

+0

否@gtalarico未完成 –

+0

dir(form)给出['FormLink','__builtins__','__doc__','__file__','__name__','__package__','__path__','datapath','formlink ','open'] –

回答

0

你的import语句是好的。

如果表单是您目录中的文件,则需要发布其内容。很可能它缺少LoginForm类的定义。

见米格尔本教程展示一个例子:

http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iii-web-forms

Let's write our first form (file app/forms.py): 

from flask.ext.wtf import Form 
from wtforms import StringField, BooleanField 
from wtforms.validators import DataRequired 

class LoginForm(Form): 
    openid = StringField('openid', validators=[DataRequired()]) 
    remember_me = BooleanField('remember_me', default=False) 
0

你的目录中有一个名为form.py的文件吗?或者这个文件本身叫做form.py? 如果是这样,Python可以加载它。 特别是如果您使用2.7,其中相对进口优先。

尝试打印

打印(form._ 文件 _) (双下划线之前和文件之后)

,看看那里的模块。 或打印

目录(形式)

,看看有什么是命名空间中的