2017-12-09 4 views
-1

Flask 프로젝트 구조는 다음과 같습니다 정의되지 않은 클래스와 /login 페이지에서 나는 클래스 파일에서 login() 메서드를 호출하려고합니다.이름 '클래스 이름은'

import os 
import sqlite3 
from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash 
from . import user 

app = Flask(__name__) 
app.config.from_object(__name__) 
user = User() 

...  

@app.route('/login', methods=['GET', 'POST']) 
def login(): 
    error = None 
    if request.method == 'POST': 
     username = request.form['username'] 
     password = request.form['password'] 
     if user.login(username, password): 
      return redirect(url_for('index')) 
     else: 
      error = "Invalid username or password" 
    return render_template('login.html', error=error) 

전체 역 추적 : 내가 무엇을 볼 수에서

File "c:\users\stanc\desktop\matcha\matcha\__init__.py", line 1, in <module> 
from .matcha import app 
File "c:\users\stanc\desktop\matcha\matcha\matcha.py", line 8, in <module> 
user = User() 
NameError: name 'User' is not defined 
+0

전체 추적을 게시하십시오. –

+0

아마도'user = user.User()'로 시도 할 것인가? ('user' 인스턴스에 대한 다른 이름을 사용하면 모듈'user'를 섀도우하게 만드는 것이 더 좋을 수 있습니다) – PRMoureu

답변

0

, 당신은 user 모듈을 가져 오는이 아닌 User 클래스는 user 모듈 내부에 기록.

는 따라서, 당신은 내가 그 문제를 해결할 수 있습니다 확신으로 다시 쓰기 코드,

from .user import User # change your import to this 
user = User() 

해야합니다.

관련 문제