我有一个表单,它将personId
int发布到烧瓶。但是,request.form['personId']
返回一个字符串。为什么烧瓶不给我点颜色?
我试着将它转换为int,但下面的路由要么返回400,要么返回500错误。我怎样才能把personId
作为int in Flask呢?
@app.route('/getpersonbyid', methods = ['POST'])
def getPersonById():
personId = (int)(request.form['personId'])
print personId
Tags:
HTTP表单数据是一个字符串,Flask不会接收到任何关于客户机希望每个值是什么类型的信息。所以它将所有值解析为字符串。
您可以调用
int(request.form['personId'])
以获取作为in t的id。但是,如果该值不是int,您将在日志中获得ValueError
,Flask将返回500响应。如果表单没有personId
键,Flask将返回400错误。相反,您可以使用^{} method 并传递
type=int
来获取该值(如果它存在并且是int:现在
personId
将被设置为整数,或None
,如果该字段不在表单中或无法转换为整数。您的示例路由也有一些问题。
一个路由应该
return
一些内容,否则它将引发500个错误。print
输出到控制台,它不返回响应。例如,您可以再次返回id:Python中不需要
int
周围的括号,在这种情况下,解析器会忽略它。我假设您正在对视图中的personId
值执行一些有意义的操作;否则对该值使用int()
有点毫无意义。相关问题 更多 >
编程相关推荐