python - 类型错误 : do_before() missing 1 required positional argument: 'resp'

标签 python falconframework

我正在尝试将钩子(Hook)附加到路线上。尽管我遵循了文档中的代码,但还是出了点问题,无论我在其中做什么,hook 都会返回错误。

组件/counter.py:

def auth_request(req, resp, resource, params):
    pass


@falcon.before(auth_request)
class Counter(object):
    def on_get(self, req, resp):
        pass

应用.py:

import falcon
from components import counter

api = application = falcon.API()

api.add_route('/counter', counter.Counter)

当我使用 gunicorn 运行它并请求 localhost:8000/counter 时,它返回:

TypeError:do_before() 缺少 1 个必需的位置参数:'resp'

最佳答案

正确的语法是

api.add_route('/counter', counter.Counter() )

您需要传递一个实例,而不是对对象的引用。

关于python - 类型错误 : do_before() missing 1 required positional argument: 'resp' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41332907/

相关文章:

java - 如何从java正确运行python?

python - 在 Python 中使用 open 函数和循环

python - 处理 POSTed 多部分/表单数据文件

python - 我可以单独使用 Flask app.run() 为多个客户端提供服务吗?

python - 公切函数

python - 删除 matplotlib 图中的空子图

从 falcon 身份验证重定向

python - 如何使用 HTTP 500 响应 Falcon 框架中任何未处理的异常

python - 如何从 Falcon 中的 POST 请求读取原始 json 请求