0

我创建了可以检查已使用的用户或电子邮件的注册系统,但出现错误 AttributeError: 'DictCursor' object has no attribute 'excute'在此处输入图像描述 ,我使用烧瓶框架和 python,请描述 DictCursor 属性或一些解决方案为了我

###############insert value(register)##########

@app.route('/new',methods=['GET','POST'])
def user_value():
if request.method=='POST':
    if "one" in request.form and "two" in request.form and "three" in request.form:
        username = request.form['one']
        email = request.form['two']
        password = request.form['three']
        cur = db.connection.cursor(MySQLdb.cursors.DictCursor)
        ###check DATA###
        curs=cur.excute("SELECT * FROM my_db.user_accout WHERE username =%s AND email =%s",thwart(username, email))
        if int(curs)>0:
            flash("User and email already used")
            return render_template("register.html")
        else:
            cur.execute("INSERT INTO my_db.user_accout(username,email,password) VALUES(%s,%s,%s)",(username,email,password))
            db.connection.commit()
            return redirect(url_for("index"))
                
        
        
        
return render_template("register.html")



######show IP in terminal(debugger)#####

if __name__ =='__main__':
app.run(debug=True)
4

1 回答 1

0

似乎您混淆了两个不同的库。 import MySQLdb 并且from flask_mysqldb import MySQL 是两个不同的库。

由于您使用flask 添加此行app.config['MYSQL_CURSORCLASS'] = 'DictCursor'然后调用光标cursor=db.connection.cursor()应该可以解决您的问题。

取自官方 git 页面

于 2021-01-27T10:32:32.117 回答