Flask request.form数值是unicode

时间:2017-08-22 17:46:08

标签: rest post unicode flask urlencode

我有一个带有POST请求的烧瓶应用程序。当我使用application/x-www-form-urlencoded内容类型在我的请求中发送以下值时,当我的应用通过request.form访问它们时,所有值都是unicode。

{
    "name": "John Doe",
    "age": 25,
    ...
}

当我在我的应用中访问request.form["age"]时,它会返回u"25"而不是25。当我使用期望数字的jsonschema验证时,这是一个问题。还有其他人遇到过此吗?

1 个答案:

答案 0 :(得分:0)

我会用

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

这会将(字符串)年龄字段转换为整数。

在烧瓶中,.form的类型为MultiDict。文档位于http://werkzeug.pocoo.org/docs/0.14/datastructures/#werkzeug.datastructures.MultiDict