2016-07-07 2 views
0

я столкнулся ошибка импорта при импорте LoginFormОшибка: ImportError: не может импортировать имя 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

Ваш оператор импорта является штраф.

Если форма представляет собой файл в вашем каталоге, вам необходимо разместить его содержимое. Скорее всего, это отсутствие определения для класса 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._ файла _) (Double подчеркивания до и после файла)

, чтобы увидеть, где модуль. Или печать

реж (форма)

, чтобы увидеть, что находится в пространстве имен

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