Flask 检索数据

Flask retrieve data

我正在填充一个 table 并希望允许用户能够删除他们认为合适的数据。如何检索他们要删除服务器端的行值?我正在通过这样的列表填充 table:

  <tr>
    <td> {{ key }} </td>
    <td> {{ value[1] }}</td>
    <td> {{ value[0] }}</td>
    <td> {{ value[2] }}</td>
    <td> {{ value[3] }}</td>
    <td> {{ value[4] }}</td>
    <td> <button id="remove" value="Delete" name="btn2">Delete</button><td>
  </tr>

您可以创建一个将 id 作为参数的视图,然后在指向该视图的模板中创建一个 link;或者,更好的是,因为您在问题中添加了 jquery 标签,所以创建一个 AJAX 请求。我会为此使用 DELETE HTTP 请求,因为 RESTful 方式要好得多,但您可以使用 GET 或 POST.

@app.route('/delete/<int:id>', methods=['GET', 'POST', 'DELETE'])
def delete_data(id=None):
    if id is None:
        return 'Please provide an object ID to delete!'

    object_to_delete = db.session.query(Data).filter_by(id=id)
    db.session.delete(object_to_delete)
    db.session.commit()

然后,在模板中,

<a href="{{ url_for('delete', id=key) }}">Delete!</a>

请注意,我提供了最简单(但不是真正安全 and/or 正确)的方法。一个 AJAX 请求,同时在客户端有更多的代码 :) 会更好。有一个 Flask Mega-Tutorial article 涵盖了 AJAX。