-1
マイFlask
プロジェクト構造を定義されていない以下のようになります。私はuser
の参照を作成matcha.pyで名が 'className' の
class User():
def __init__(self):
db = get_db()
def login(username, password):
...
def register(email, username, firstname, lastname, password):
...
:
matcha
|- matcha
|- template
static
__init__.py
matcha.py
user.py
がuser.pyクラスと/login
ページで私はuser
クラスファイルから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)
完全トレースバック:あなたはuser
モジュールをインポートしているのか、私が見ることができるから、
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
完全なトレースバックを投稿してください。 –
おそらく 'user = user.User()'で試してみてください。 (インスタンス 'user'の別の名前を使用すると、モジュール' user'をシャドーしないほうが良いでしょう) – PRMoureu