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

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

这里写图片描述

让我们看看源代码

前端:

<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>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值