flask表单提交时遇到的问题-bad request(400)

来源:互联网 发布:移民布里斯班后 知乎 编辑:程序博客网 时间:2024/05/18 22:41

首先我们看看这个错误长什么样子

这里写图片描述

让我们看看源代码

前端:

<form method="post" action="login">    姓名:<input type="text" id="name" ><br>    密码:<input type="password" id="password" ><br>    <input type="submit" value="提交"></form>

后端:

# flask获取request的值,需要导入下面这个包from flask import request@app.route('/login', methods=['get', 'post'])def login():    print request.method    if request.method == 'POST':        name = request.form['name']        password = request.form['password']        return render_template('index.html', name=name, password=password)

原因

debug的时候,发现程序执行到request.form[‘name’];这一步的时候就报错了,一开始以为是文档太久的问题,但是去看了最新的flask文档,获取表单值的方法没错。然后想了下,可能和请求过来的表单值有关。上网找了下资料才知道,原来form表单,会将它的输入框中的值,绑定到’name’属性中,后端取值的时候也是根据‘name’属性的值去取值,而不是根据到id,所以将前端代码的input标签中添加一个name属性就可以了,代码如下:

<form method="post" action="login">    姓名:<input type="text" id="name" name="name"><br>    密码:<input type="password" id="password" name="password"><br>    <input type="submit" value="提交"></form>
原创粉丝点击