我有一個方法,我檢查用戶是否存在於數據庫中,我想將該方法結果傳遞給另一個方法,但無法這樣做,錯誤我看到的是「類型錯誤:‘布爾’對象不是可調用的」不能從一種方法返回布爾值
這裏是我的代碼:
def userInDb(username, email, password):
cursor = mysql.get_db().cursor()
cursor.execute('SELECT userID from user WHERE userName = %s and email = %s and password = %s', [username, email, password])
data = cursor.fetchone()
if data is None:
return False
else:
True
而這正是我試圖調用aboves方法結果
@app.route('/showSignIn', methods=["POST"])
def showSignInPost():
username = request.form['inputUserName'] # values received from the UI input by users
email = request.form['inputEmail']
password = request.form['inputPassword']
inDB == userInDb(username, email, password)
if inDB is True:
return render_template('signin.html', signInHeader = "User doesn't exist, please try again")
else:
return render_template('signin.html', signInHeader = "Welcome " + username)
非常感謝即
您在那個'else'分支中缺少一個'return',但那不會引起您當前擁有的錯誤。我期望'inDB'有一個'NameError'。你可以顯示你的完整回溯 –
你也應該在'inDB == userInDb(username,email,password)'行中使用單個'='而不是雙倍 – valignatev
@valentjedi是的,我注意到只有在複製代碼後才發現錯誤。謝謝! – limeThyme