【发布时间】:2021-04-16 04:55:36
【问题描述】:
谁能帮帮我?我是 Python Flask 的新手。如果“用户名”数据已经存在,我需要显示一条消息以避免重复条目。我正在使用 Mysql,我的表名是“users”。
例如,如果我尝试将 testuser1 保存为已经存在的用户名,我会得到 MySQLdb._exceptions.IntegrityError: (1062, "Duplicate entry 'testuser1' for key 'username'") 我试图从类似的问题中做一些解决方案,但对我不起作用。如果你能帮助我,我将非常感激。
代码如下:
@app.route('/register', methods=['GET', 'POST'])
def register():
form = RegisterForm(request.form)
if request.method == 'POST' and form.validate():
name = form.name.data
email = form.email.data
username = form.username.data
password = sha256_crypt.encrypt(str(form.password.data))
cur = mysql.connection.cursor()
cur.execute("INSERT INTO users(name, email, username, password) VALUES(%s, %s, %s, %s)", (name, email, username, password))
mysql.connection.commit()
# Close connection
cur.close()
flash('You are,registered!!', 'success')
return redirect(url_for('login'))
return render_template('register.html', form=form)
【问题讨论】: