フラスコとパッケージフラスコ-mysqlでウェブサイトを作成するときに奇妙なバグがあります。私はこのページに4つの変数を投稿するFlask-Mysql型のエラーでデータを更新するとき
@app.route('/calendar/editeventtitle',methods=['POST'])
def editeventtitle():
if not session.get('logged_in'):
abort(401)
try:
id = request.form.get('id',type=int)
title = request.form['title']
color = request.form['color']
delete = request.form.get('delete')
except:
pass
conn = mysql.connect()
cursor = conn.cursor()
print(id,type(id))
# try:
# print(delete,type(delete))
# except:
# pass
if id and delete:
cursor.execute('delete from events where id = %d',id)
conn.commit()
flash('Event canceled!')
return redirect(url_for('calendar'))
elif id and title and color:
cursor.execute('update events set title = %s, color = %s where id = %d',(title,color,id))
conn.commit()
flash('Event updated!')
return redirect(url_for('calendar'))
:ここ
はバグ関数のコードです。私はうまくそれらを得る。6 <class 'int'>
我々はそれが本当に整数だ参照が、コードを更新したり、DBからデータを削除するために開始したときに、ここではエラーメッセージです::そしてprint(id,type(id))
の結果は次のようである
TypeError: %d format: a number is required, not str
本当にドン理由を知っていない= - =誰も私を助けることができますか?ありがとうございました。
PS:Python3.6.1、フラスコ0.12.2は、フラスコ-MySQLは1.4.0