我有一个表格,personId
可以向Flask发送一个int值。但是,request.form['personId']
返回一个字符串。Flask为什么不给我一个整数?
我尝试将其强制转换为int,但是下面的路由返回了400或500错误。如何获得personId
Flask中的int类型?
@app.route('/getpersonbyid', methods = ['POST'])
def getPersonById():
personId = (int)(request.form['personId'])
print personId
HTTP表单数据是一个字符串,Flask不会收到有关客户端将每个值指定为哪种类型的任何信息。因此,它将所有值解析为字符串。
您可以调用int(request.form['personId'])
以获取ID作为一个整数。如果该值不是int,则ValueError
在日志中将得到一个,并且Flask将返回500响应。如果表单没有personId
键,Flask将返回400错误。
personId = int(request.form['personId'])
相反,您可以使用MultiDict.get()
方法并传递type=int
以获取值(如果它存在且为int):
personId = request.form.get('personId', type=int)
现在personId
将被设置为整数, 或者 None
如果该字段不以表单形式存在或无法转换为整数。
您的示例路线也存在一些问题。
路线应该有return
东西,否则会引发500错误。print
输出到控制台,它不返回响应。例如,您可以再次返回ID:
@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()
该值将毫无意义。
问题内容: 我想从HTML表单中获取输入,并以JSON格式提供输出。选择多个值时,它们不会转换为JSON数组,仅使用第一个值。 : : 如果为所有者选择了多个值,“ thor”和“ flash”,则输出仅显示一个值: 我希望拥有者成为清单: 如何在不丢失列表值的情况下将表单显示为JSON? 问题答案: 是一个。遍历multidict仅返回每个键的第一个值。要获取包含值列表的字典,请使用。 为了保持
问题内容: 我有一个包含两列的表: 我需要在PostgreSQL中进行某种形式的一键编码并将表转换为: 是否可以仅使用SQL?有关如何入门的任何提示? 问题答案: 如果我正确理解,则需要条件聚合:
问题内容: 我有一个SQL查询返回1行,其中包含多个列标题: 有没有一种方法可以将该行转换为2列,即: 这是在SQLServer 2008 r2上运行 编辑:添加一个更好的例子 来自一个简单的 类型查询。我要显示的是: 问题答案: 试试这个
问题内容: 我正在使用Flask和MongoDB。我正在尝试将request.form的内容转换为适合通过PyMongo保存的内容。似乎应该经常提出一些东西以提供现成的解决方案。 所以Flask给我的东西是这样的: 我希望获得的结果与此相似: 问题答案: 要牢记。
问题内容: 我在互联网上找到了一种将RGB值转换为HSV值的方法。不幸的是,当值是R = G = B时,由于0/0操作,我得到的是NaN。 您是否知道Java中是否存在用于此转换的实现方法,或者当我获得0/0除法以获取正确的HSV值时该怎么办? 这是我的方法,它是根据Internet上的一些代码改编而成的: 问题答案: 我很确定您想要的是RGBtoHSB
问题内容: 我有一个二维的numpy数组。此数组中的一些值为。我想使用此数组执行某些操作。例如考虑数组: 我试图每次取一行,以相反的顺序对其进行排序,以从行中获取最多3个值并取其平均值。我试过的代码是: 这不适用于包含的行。我的问题是,是否有一种快速的方法可以将2D numpy数组中的所有值都转换为零,以便我在排序和其他尝试做的事情上没有问题。 问题答案: 这应该工作: 在上述情况下,where_