Discuss / Python / 关于add_routes这个函数遍历模块属性

关于add_routes这个函数遍历模块属性

Topic source

科子六六

#1 Created at ... [Delete] [Delete and Lock User]

廖老师,addroutes这个函数遍历模块属性时,为什么装饰函数@get @post中包裹的属性method, 和 _route可以取得出来,这个是什么原理啊?

def addroutes(app, modulename): n = modulename.rfind('.') if n == (-1): mod = import(module_name, globals(), locals()) else: name = module_name[n+1:] mod = getattr(__import(module_name[:n], globals(), locals(), [name]), name) for attr in dir(mod): if attr.startswith(''): continue fn = getattr(mod, attr) if callable(fn): method = getattr(fn, 'method', None) path = getattr(fn, 'route', None) if method and path: add_route(app, fn)


  • 1

Reply