如何解决将装饰器添加到动态生成的方法中
def add_controller(self,cls,i,return_url):
@http.route(return_url,type="http",auth="public",website=True) # Very important,missing!
def innercontroller(self,**kw):
print("Helloo here with ID: " + i)
innercontroller.__name__ = "controller_html_form_id_" + i # Name of the new method
setattr(cls,innercontroller.__name__,innercontroller)
print("Done")
def create(self):
self.add_controller(HtmlFormController,return_url)
代码运行正常,生成了方法,可惜没有装饰器。
我想用不同的 return_url
创建多个方法,这意味着每个装饰器都会不同。
编辑:
@http.route("/custom13",website=True)
def controller_html_form_id_13(slef,**kw):
return "Example method!"
那么当用户调用路由 example.com/custom13
时,他应该会在浏览器中看到 Example method!
。
唯一缺少的是装饰器@http.route(...)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。