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 に答える