问Flask表单提交按钮时出错怎么解决?,flask表单,一组表单里有两个提交按钮


一组表单里有两个提交按钮<input type="submit">:

<form action="{{ url_for('index') }}" method="post">    <input type="submit" name="up" value="up">    <input type="submit" name="down" value="down"></form>

python 代码:

if request.method == 'POST':    if request.form['up']:        return redirect(url_for('index'))    elif request.form['down']:        return redirect(url_for('index'))

其中up这个可以正常提交,但是down这个就报错:

Bad Request The browser(or proxy) sent a request that this server could not understand.

怎么解决?

Django 官方文档的 Tutorial 就是一个简单的投票系统——如果您指的“app”是一个 web 应用的话:

什么意思,你要做什么?最后的返回不都是一样的。

而且 request.form[xx] 不是返回的逻辑判断值吧?

如果没有在在 form 中没有找到相应的数值,服务器直接返回当做错误请求返回。

你可以这样,把form改一下,然后直接判断值。

<form action="{{ url_for('index') }}" method="post"><input type="submit" name="key" value="up"><input type="submit" name="key" value="down">

http://stackoverflow.com/questions/8552675/form-sending-error-flask
这里提供了答案。

这里会出错的原因是UP这个值在request.form里面没有的。

用 if "up" in request.form应该可以避免这个问题

编橙之家文章,

评论关闭