将Flask表单值转换为int

我正在试图获得在瓶子里的数据

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

我在RESTClient中通过POST发送数据“personId”。 但是我没有得到结果。 我得到一个400错误的请求错误,而不是。

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

你想要返回你的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中是不需要的,在这种情况下,parsing器会忽略它。

我假设你正在做一些有意义的视图personId值; 否则使用int()的值是没有意义的。

您也可以使用MultiDict.get()方法为您的值进行转换:

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

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