一组表单里有两个提交按钮 <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.
怎么解决?
这里会出错的原因是UP这个值在request.form里面没有的。
用 if "up" in request.form应该可以避免这个问题
什么意思,你要做什么?最后的返回不都是一样的。
而且 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
这里提供了答案。