0
ログインのためにこのコードを書いていますが、動作させることができません。データベースに格納されている資格情報の正しいセットを入力しても、「Invalid Credentials Please Try Again」というメッセージが返されます。Flask Login with SQLite
これがなぜ機能していないのか、あるいは非常に高く評価されるであろう解決策を提示する人はいないでしょうか。ありがとうございました。
def connect_db():
return sqlite3.connect(app.database)
@app.route('/', methods=['GET', 'POST'])
def index():
error = None
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
validate_user = validate(username, password)
if validate_user == False:
error = 'Invalid Credentials Please Try Again'
return render_template('index.html', error=error)
else:
return redirect(url_for('loggedin'))
return render_template('index.html', error=error)
def validate(username, password):
g.db = connect_db()
Validation = False
with g.db:
cursor = g.db.execute("SELECT * FROM Users")
rows = cursor.fetchall()
for row in rows:
database_user = row[1]
database_password = row[2]
if database_user == username:
Validation = check_password(database_password, password)
return Validation
def check_password(hashed_password, user_password):
return hashed_password == hashlib.md5(user_password.encode()).hexdigest()