Flask按钮将变量传递回python

时间:2016-12-07 20:12:43

标签: python html flask

我发现了很多与此相似的内容,但我无法让它发挥作用。基本上,我有一个按钮,按下它后,我想将这个值发回烧瓶后端。

HTML按钮:

<form action="" method="POST" ><button class="btn btn-danger" type="submit" name="delete" value="{{  item2  }}"><span class="glyphicon glyphicon-trash"></span> Delete</button> </form>

的Python:

@app.route('/', methods=["GET","POST"])
def home():    
    if request.method == 'POST':
        if request.form['delete'] == post_id:
            (my sql login/cursor stuff....)
            sql = "DELETE FROM test_table WHERE post_id = ?"
            c.execute(sql, (post_id,))
            return redirect("/")

正如您所看到的,我正在使用jinja填充链接(和后续变量)。它按原样填充按钮,但将其发送回我的python脚本是行不通的。

更新 当我运行它时,我收到内部服务器错误。我无法看到路由错误是什么,因为我无法调试工作(使用wsgi / werkzeug)。

我认为我们可以确切地说,通过不定义post id就是为什么它不起作用。所以我的问题是,当按钮将数据发送回python时,python会抓取什么值(以及如何)?它是name=还是value=还是其他什么?

1 个答案:

答案 0 :(得分:2)

你的问题是

index(dtaTimeMrgd) + years(2002)

您可以从按钮(request.form['delete'] == post_id )获取值,并尝试与不存在的变量request.form['delete']中的值进行比较。

如果您想从按钮获取值并分配给变量post_id,那么您需要

post_id

post_id = request.form['delete']

然后您可以在SQL查询中使用post_id = request.form.get('delete')

post_id