0
我已经为我的登录编写了这段代码,但是我无法让它正常工作。即使输入存储在数据库中的一组正确的凭证,也会返回“无效的凭证请重试”消息。烧瓶用SQLite3登录
任何人都可以提供一些指示,为什么这不工作或提供一个解决方案,将不胜感激。谢谢。
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()