PythonFlask,更新表

2024-04-25 09:27:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我写这条关于一个问题的消息,我找不到错误,但不知何故我的表不会更新它只是不断刷新同一页。在

我有以下问题,我的mysql表不会从这个字段更新 Python代码:

@app.route('/edit_item/<string:itemno>', methods=['GET', 'POST'])
@is_logged_in
def edit_item(itemno):
    #Create cursor
    cur = mysql.connection.cursor()
    #get item by itemno
    result = cur.execute("SELECT * FROM items WHERE itemno = %s", [itemno])
    item = cur.fetchone()
    cur.close()

    #Get form
    form = ItemForm(request.form)
    #Populate item form fields
    form.title.data = item['title']
    form.body.data = item['body']
    form.unit.data = item['unit']
    form.price.data = item['price']

    if request.method == 'POST' and form.validate():
        title = request.form['title']
        body = request.form['body']
        unit = request.form['unit']
        price = request.form['price']

        #Create Cursor
        cur = mysql.connection.cursor()
        app.logger.info(title)
        #Execute
        cur.execute("UPDATE items SET title = %s, body = %s, unit = %s, price = %s, WHERE itemno = %s", (title, body, unit, price, itemno))
        #commit DB
        mysql.connection.commit()

        #close connection
        cur.close()

        flash('Item Updated', 'succes')
        return redirect(url_for('dashboard'))
    return render_template('edit_item.html', form=form)

HTML代码: {%扩展'布局.html'%}

^{pr2}$

我希望有人能帮助我,我做错了什么?在


Tags: formclosedatatitlerequestmysqlunitbody