用烧瓶删除录制sqlite3

时间:2018-02-08 15:47:38

标签: python flask sqlite2

我正在尝试配置烧瓶视图以从sqlite3数据库表中删除记录但我收到一些错误,请看下面我编码的内容所以你能告诉我我做错了什么吗?

@app.route('/delete/<int:entry_id>')
def delete_entry(entry_id):
   con = sql.connect("database.db")
   con.row_factory = sql.Row
   cur = con.cursor()
   entry_id=int(entry_id)
   cur.execute("delete from students where id=?", (entry_id,))
   con.commit()
   rows = cur.fetchone();
   return redirect("http://192.168.1.1:4000/list")

<a href="{{ url_for('delete_entry', entry_id=row['id'] )}}">Delete</a>

3 个答案:

答案 0 :(得分:0)

execute电话之后,您还需要拨打commit

cur.execute("delete from students where id=?", (id,) )
cur.commit()

编辑:您必须创建一个函数参数,以对应于传递给路径的值,并使用相同的名称:

def delete_entry(entry_id):
  pass

答案 1 :(得分:0)

我遇到了类似的问题,我在 () 之后添加了 id= cur.execute("delete from students where id=(?)", (id,) ) 以防万一其他人遇到同样的问题,请尝试添加那些 () 这对我有用。

答案 2 :(得分:0)

略有不同但达到相同的结果:

@app.route('/delete/<id>')
def delete_entry(id):
    entry = MyDatabase.query.get(id)
    db.session.delete(entry)
    db.session.commit()
    return redirect(url_for('lists'))

删除链接将是:

<p><a href=" {{ url_for('delete_entry', id=entry.id) }} ">Delete</a></p>