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

一组表单里有两个提交按钮 <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.

怎么解决?

紫衣仙女
浏览 71回答 2
2回答

炎炎设计

什么意思,你要做什么?最后的返回不都是一样的。而且 request.form[xx] 不是返回的逻辑判断值吧?如果没有在在 form 中没有找到相应的数值,服务器直接返回当做错误请求返回。你可以这样,把form改一下,然后直接判断值。<form&nbsp;action="{{&nbsp;url_for('index')&nbsp;}}"&nbsp;method="post"> <input&nbsp;type="submit"&nbsp;name="key"&nbsp;value="up"> <input&nbsp;type="submit"&nbsp;name="key"&nbsp;value="down">

12345678_0001

这里会出错的原因是UP这个值在request.form里面没有的。用 if "up" in request.form应该可以避免这个问题
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python