“sqlite3.Cursor”对象在Python中没有属性“\uuuu getitem\uuuu”错误
这是我的密码。每次按login时都会出现此错误: “sqlite3.Cursor”对象没有属性“\uuuu getitem\uuuu” 这是我的登录选项卡:“sqlite3.Cursor”对象在Python中没有属性“\uuuu getitem\uuuu”错误,python,sqlite,flask,Python,Sqlite,Flask,这是我的密码。每次按login时都会出现此错误: “sqlite3.Cursor”对象没有属性“\uuuu getitem\uuuu” 这是我的登录选项卡: @app.route('/', methods=['GET', 'POST']) def login(): error= None if request.method == "POST": with sql.connect("database.db") as con: cur = co
@app.route('/', methods=['GET', 'POST'])
def login():
error= None
if request.method == "POST":
with sql.connect("database.db") as con:
cur = con.cursor()
try:
data = cur.execute("SELECT name FROM users WHERE name= ?",(request.form['username'],) )
data.fetchone()
if sha256_crypt.verify(request.form['password'], data[0]):
session['logged_in'] == True
session['username'] = request.form('username')
flash('Successfully logged in')
return redirect(url_for(hello_world))
else:
error = "Invalid Password or User. Try again."
except Exception as e:
flash(e)
return render_template('login.html',error=error)
con.close()
gc.collect()
return render_template('login.html', error=error)
我做错了什么?\uuu getitem\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。错误告诉您不能使用那样的游标。将数据[0]替换为data.fetchone返回的值。读取doc:x=data.fetchone如果sha256_crypt.verifyrequest.form['password',x:像这样吗?我现在遇到另一个错误:哈希必须是unicode或字节,而不是sqlite3.cursory您的代码似乎正确,但您的错误令人惊讶。如果你打印X怎么办?它应该是元组或无元组。我想我的错误在我的sql语句中。。。data=cur.executeSELECT name FROM users WHERE name='?'request.form['username'],您肯定需要选择密码哈希,而不是名称,但这并不能解释错误消息。