Python tornado使用带参数的继承

2024-09-28 18:46:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个基本处理程序类:

class BaseHandler(RequestHandler):
    def get(self, id=None, *args, **kwargs):
        module = self.request.uri.split('/')[1].split('?')[0]

这个get方法处理程序由100行代码组成,您可以看到模块是从url获取的。在某些情况下,我只需要更改模块,而不想完全重写get方法。
是否有任何方法可以继承此方法并更改模块?你知道吗


Tags: 模块方法selfnoneid处理程序getdef
1条回答
网友
1楼 · 发布于 2024-09-28 18:46:05

当您的get接受**kwargs时,您可以添加以下行:

module = kwargs.pop("module") or self.request.uri.split('/')[1].split('?')[0]

因此,您可以在子类和更改模块中继承此方法:

module = ...
super(Subclass, self).get(id, *args, module=module, **kwargs)

相关问题 更多 >