[英]Python tornado use inheritance with parameters
我有一个像这样的基本处理程序类:
class BaseHandler(RequestHandler):
def get(self, id=None, *args, **kwargs):
module = self.request.uri.split('/')[1].split('?')[0]
此get方法处理程序由100行代码组成,如您所见,模块是从url获取的。 在某些情况下,我只需要更改模块,而又不想完全重写get方法。
有什么方法可以继承此方法并更改模块吗?
当你的get
接受**kwargs
,你可以加入这一行:
module = kwargs.pop("module") or self.request.uri.split('/')[1].split('?')[0]
因此,您可以在子类中继承此方法并更改模块:
module = ...
super(Subclass, self).get(id, *args, module=module, **kwargs)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.