Ich habe diesen Code für mein Login geschrieben, aber ich kann es nicht zum Laufen bringen. Auch wenn ich einen korrekten Satz von in der Datenbank gespeicherten Berechtigungsnachweisen eintrage, wird die Nachricht "Ungültige Anmeldeinformationen versuchen Sie es erneut" zurückgegeben.Flask Login mit SQLite3
Könnte irgendjemand einen Hinweis geben, warum dies nicht funktioniert oder eine Lösung anbieten, die sehr geschätzt wird. Vielen Dank.
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()