将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
。