共计 605 个字符,预计需要花费 2 分钟才能阅读完成。
flask-restful插件编写api时,会用到reqparse.RequestParser
模块,但是此模块在处理中文时会出现编码错误
比如代码如下:
self.parse = reqparse.RequestParser()
self.parse.add_argument('domain', type=str, required=True, location='form')
self.parse.add_argument('fromAttr', type=str, required=False, location='form')
self.parse.add_argument('type', type=int, required=True, location='form')
self.parse.add_argument('bestAttr', type=str, required=True, location='form')
当请求中出现中文时会返回错误
{ "message": { "fromAttr": "'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)" } }
这是因为在add_argument模块中str表示接受unicode字符,并不是str字符,所以在使用str前,我会互换str和unicode
str, unicode = unicode, str
正文完