1

我在 python3、ubuntu 的 falcon 库中收到错误“AttributeError: 'Request' object has no attribute 'params'”。

请求 url = 127.0.0.1:8000/user?name=abc

from wsgiref import simple_server
import falcon

class user(object):
    def on_get(self, req, resp):
        print(req.params['name'])

api = application = falcon.API()

usr = user()
api.add_route('/user', usr)

if __name__ == '__main__':
    http = simple_server.make_server('127.0.0.10', 8000, api)
    http.serve_forever()

在上面的代码中,我无法访问 req.params

4

1 回答 1

0

如果您使用的是 1.0 版,请注意以下重大更改:

添加了一个选项来切换表单参数的自动解析。默认情况下,Falcon 将不再自动解析内容类型为“application/x-www-form-urlencoded”的请求...

需要此功能的应用程序必须明确地重新启用它,方法是设置为此目的添加的新请求选项,如下例所示:

app = falcon.API()
app.req_options.auto_parse_form_urlencoded = True

https://github.com/falconry/falcon/blob/master/CHANGES.rst

于 2016-09-05T13:52:33.583 回答