将Flask表格值转换为int

时间:2012-09-23 10:25:09

标签: python json flask

我正在尝试在Flask中获取POST数据:

@app.route('/getpersonbyid', methods = ['POST'])
def getPersonById():
    personId = (int)(request.form['personId'])
    print personId

我在RESTClient中通过personId发送数据POST。但我没有得到结果;我得到了400 Bad Request错误。

我的代码中是否有错误?如果是这样,当请求数据通过POST时,如何获取特定数据。

1 个答案:

答案 0 :(得分:49)

您希望返回您的personId值;将其打印到控制台对Web应用程序没有帮助:

@app.route('/getpersonbyid', methods = ['POST'])
def getPersonById():
    personId = int(request.form['personId'])
    return str(personId)  # back to a string to produce a proper response

围绕int的括号是无意义的噪音,顺便说一句,Python中不需要它们,在这种情况下,解析器会忽略它们。

我假设您正在使用视图中的personId值执行有意义的操作;否则在值上使用int()有点无意义。

您还可以使用MultiDict.get() method为您转换价值:

personId = request.form.get('personId', type=int)

如果表单中不存在字段或无法将字段转换为整数,则personId将设置为整数 None